Git Workflow
Pengerjaan aplikasi menggunakan GitLab dengan alur kerja seperti berikut.
Git Commit
- Commit git diusahakan sekecil mungkin (micro commit)
- Commit harus menggunakan prefix sesuai konteks
- Commit harus menggunakan deskripsi apa pengerjaan yang masuk dalam commit
Git Conventional Commit
Conventional Commit adalah konvensi ringan di atas commit, ini memberikan penjelasan yang mudah kepada reviewer dan juga membuat riwayat commit menjadi lebih mudah untuk dibaca. konvensi ini sesuai dengan SemVer, dengan menjelaskan fitur, perbaikan, dan perubahan besar yang di buat dalam pesan commit.
Pesan commit harus di susun sebagai berikut :
[type]: [description]
Berikut adalah beberapa type yang bisa di pakai saat anda menuliskan pesan commit beserta penjelasan dari masing-masing type tersebut :
feat
: Fitur baru yang Anda tambahkan ke aplikasi tertentufix
: Perbaikan bugstyle
: Fitur dan pembaruan terkait stylingrefactor
: Memfaktorkan ulang bagian tertentu dari basis kodetest
: Segala sesuatu yang berhubungan dengan pengujiandocs
: Segala sesuatu yang berhubungan dengan dokumentasichore
: Pemeliharaan kode reguler.[ Anda juga dapat menggunakan emoji untuk mewakili jenis komit]
Berikut juga contoh yang bisa dipakai :
git commit -m 'feat: tambah fiture download'
Workflow
- Engineer membuat branch git sesuai issue yang di assign di redmine oleh Bussiness Analyst
- Pengerjaan dan commit di local masing-masing
- Push branch ke repository
- Membuat Merge Request (MR) ke
develop
branch - Assign pembuat MR sebagai
assignee
- Assign anggota tim engineering lain sebagai
reviewer
(bisa ke Muhammad Farras Jibran atau Muhammad Fauzan Saputra) reviewer
wajib memberikan komentar baik untuk perbaikan ataupun approvalmaintaner
melakukan Merge ke branchdevelop
, dan pastikan saat melakukanmerge
pilih opsi delete branch dan squash commit sudah di merge- Setelah branch untuk pengembangan sudah di merge ke branch
develop
maka semua engineer wajib melakukanfetch
dan update lokal branch dengan melakukangit pull origin develop
Merge Request Template
Saat menambahkan merge request, harap implementasi merge request template berikut. Sesuaikan dengan project yang sedang dikerjakan.
Frontend
## Summary
(Summarize the changes that have been made)
## Videos
- Please upload videos if there are interactions included: e.g: progress bar, spinner, popup, drawer, etc
- Remove this section if not uploading Videos
## Screenshots
- Show whole browser screenshot with URL bar shown where the route is shown
- Remove this section if not uploading Screenshots
## Redmine
- Put any related links related to this Merge Request
## Checklist
Change the `[ ]` to `[x]` for each of these list that are applicable, remove any list item that are not applicable
- [ ] I fixed|updated|added unit tests and integration tests for each feature (if applicable).
- [ ] No `error` nor `warning` in the console.
- [ ] I added videos for the developed feature / bug fix. (Please upload videos if there are interactions included: e.g: progress bar, spinner, popup, drawer, etc)
- [ ] I added screenshots of developed feature
Backend
## Summary
(Summarize the changes that have been made)
## Redmine
- Put any related links related to this Merge Request
## Checklist
Change the `[ ]` to `[x]` for each of these list that are applicable, remove any list item that are not applicable
- [ ] I fixed|updated|added unit tests and integration tests for each feature (if applicable).
- [ ] No `error` nor `warning` in the console.