Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 2.58 KB

pull-request-workflow.md

File metadata and controls

48 lines (33 loc) · 2.58 KB

Kolaborasi dan Review menggunakan Pull Request

Bagian ini berisi tentang proses Pull Request yang berjalan di Flipbox, tata cara dan kesepakatan yang berlaku.


Main Cast

Dalam proses Pull Request ini terdapat tiga peran utama, yakni:

  • Captain: Code reviewer & decision maker (pengembang utama).
  • QA: Feature/function reviewer.
  • Member: Developer (pengembang).

Pull Request Manifesto @ Flipbox

  1. Tidak boleh ada proses development di dalam branch develop atau master - kedua branch tersebut hanya berfungsi untuk merge, test & release fitur yang sudah stabil
  2. Segera buat Pull Request setelah branch dibuat dan remote push sudah dilakukan.
  3. Pull Request akan ditolak apabila ditemukan konflik dalam kode. Pengembang harus menyelesaikan konflik tersebut dan memastikan tidak ada konflik dalam Pull Request
  4. Lakukan penamaan branch sesuai kesepakatan bersama ( lihat Ketentuan Branching )
  5. Branch hotfix akan menghasilkan Pull Request ke branch master dan branch develop
  6. Pengembang utama sebaiknya melakukan proses merge di repositori lokal. Khusus untuk branch story sebaiknya dilakukan preserve commit history dengan melakukan proses git merge --no-ff. Untuk branch lain silahkan merge & squash menggunakan git merge --squash
  7. Pengembang utama yang memiliki akses push ke master dan develop harus mengatur proses release aplikasi dan memungkinkan untuk membuat branch release dengan beberapa permintaan pekerjaan tambahan sebelum akhirnya akan dilakukan merge ke develop dan master

Ketentuan Branching

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 branch develop

  • task/[nomor redmine] [deskripsi]
  • improvement/[nomor redmine] [deskripsi]
  • bug/[nomor redmine] [deskripsi]
  • hotfix/[nomor redmine] [deskripsi]

Konsep Git