Bagian ini berisi tentang proses Pull Request yang berjalan di Klinik Pintar, tata cara dan kesepakatan yang berlaku.
Dalam proses Pull Request ini terdapat tiga peran utama, yakni:
- Captain: Code reviewer & decision maker (pengembang utama).
- QA: Feature/function reviewer.
- Member: Developer (pengembang).
- Tidak boleh ada proses development di dalam branch
develop
ataumaster
- kedua branch tersebut hanya berfungsi untukmerge, test & release
fitur yang sudah stabil - Segera buat Pull Request setelah branch dibuat dan remote push sudah dilakukan.
- Pull Request akan ditolak apabila ditemukan konflik dalam kode. Pengembang harus menyelesaikan konflik tersebut dan memastikan tidak ada konflik dalam Pull Request
- Lakukan penamaan branch sesuai kesepakatan bersama ( lihat Ketentuan Branching )
- Branch
hotfix
akan menghasilkan Pull Request ke branchmaster
dan branchdevelop
- Pengembang utama sebaiknya melakukan proses
merge
di repositori lokal. Khusus untuk branchstory
sebaiknya dilakukan preserve commit history dengan melakukan prosesgit merge --no-ff
. Untuk branch lain silahkanmerge & squash
menggunakangit merge --squash
- Pengembang utama yang memiliki akses push ke
master
dandevelop
harus mengatur prosesrelease
aplikasi dan memungkinkan untuk membuat branchrelease
dengan beberapa permintaan pekerjaan tambahan sebelum akhirnya akan dilakukanmerge
kedevelop
danmaster
Pilihan nama branch yang dapat digunakan adalah
- story/[nomor redmine] [deskripsi]
Untuk Story yang dirasa terlalu besar, pecah ke dalam Task yang lebih kecil untuk kemudian di merge ke branch
story
sebelum melakukan Pull Request ke branchdevelop
- task/[nomor redmine] [deskripsi]
- improvement/[nomor redmine] [deskripsi]
- bug/[nomor redmine] [deskripsi]
- hotfix/[nomor redmine] [deskripsi]
Notes
Untuk repository yang tidak akan mengalami banyak pengembangan ( one and done ), harap menggunakan branching berikut
- master : cukup jelas
- develop : hasil pengembangan dari branch
latest
akan di-merge kesini - latest : seluruh pengembangan akan dilakukan di branch ini dan PR akan dibuat ke
develop
- Gunakan pesan commit yang relevan dan masukkan tag yang sesuai.
- [ADD] deskripsi penambahan berkas yang dilakukan
- [UPDATE] deskripsi update yang dilakukan
- [FIX] deskripsi perbaikan yang dilakukan
- Git Cheatsheet
- Rewrite Commit History
- Squash Published Commits