Git Flow

Benedictus Alvin
PDB+R
Published in
2 min readFeb 25, 2019

Halo semuanya \ (•◡•) /

Pada kali ini saya akan membahas Git Flow dari projek kelompok PDBR. Sebelumnya, yuk kita bahas dulu apa itu Git Flow. Git Flow itu adalah pola yang digunakan pada suatu kolaborasi menggunakan version control GIT. Hal itu disebabkan Git Flow dibagikan kedalam beberapa percabangan, dan setiap cabang mengandung tugas masing-masing yang nantinya akan berakhir menjadi suatu produk utuh.

Keuntungan

Nah, Git Flow sendiri banyak digunakan para developer karena memiliki banyak keuntungan. Diantaranya,

  1. Parallel Development

Git Flow mempermudah proses parallel development, sebab dia memisahkan projek yang sedang dikembangkan dengan projek yang sudah siap dalam branch yang berbeda. Kode baru yang sudah siap tinggal di merge jika sudah disetujui. Pihak pengembang juga dapat berpindah task satu dengan yang lain dengan mudah. Hanya perlu mengecek commit terakhir dari branch task tersebut.

2. Collaboration

Fitur branch memudahkan 2 sampai lebih developer untuk berkolaborasi dalam fitur yang sama, sebab setiap branch adalah hanya mengandung implementasi untuk menjalankan fitur tersebut.

3. Release Staging Area

Setiap kali suatu fitur berhasil di kerjakan, dia akan di merge ke dalam branch staging. Branch tersebut mengandung semua fitur yang telah di selesaikan namun belum dirilis. Sehingga saat projek akan dirilis, project tersebut akan mengandung fitur-fitur yang telah diselesaikan.

4. Support For Emergency Fixes

Git Flow memiliki branch hotfix, branch yang dibuat dari cabang master. Branch ini dapat digunakan untuk memperbaiki bug-bug yang tidak terduga. Hotfix hanya mengandung solusi emergency yang telah dibuat, sehingga tidak perlu khawatir akan terjadinya merge dengan yang lain

Cara Kerjanya

Masing-masing cabang memiliki tugas nya masing-masing

  • Cabang Master : Cabang tempat menyimpan project (source code) yang sudah siap di deploy dan dapat digunakan oleh client
  • Cabang Hotfix : Cabang dari branch master yang digunakan untuk memperbaiki bug / error yang terjadi pada branch master
  • Cabang Staging : Cabang utama yang menjadi lokasi proses pengembangan. Branch ini mengandung hasil pekerjaan dari masing-masing developer dan akan digunakan pada saat sprint review
  • Cabang Coldfix : Cabang yang digunakan untuk melakukan rollback / revert, apabila pada saat sprint review client menolak suatu user story
  • Cabang User Story : Cabang yang digunakan oleh masing-masing developer untuk menyelesaikan suatu user-story yang tersedia

Pada sprint 1 project SISIDANG-NG, kami sudah mulai menyelesaikan cabang user-story masing-masing. Selanjutnya, kami akan saling mengecek code masing-masing (code review) dan bila sudah dirasa sesuai dan siap ditampilkan pada client. Semua user-story tersebut akan di merge ke dalam branch staging dan nantinya akan dinilai oleh client pada saat sprint review.

Oke deh, sekian pembahasan Git Flow dari saya. Proses yang tertata rapi seperti ini memang memudahkan proses pengembangan dalam suatu kelompok. Jadi yuk sama-sama saling support agar projek yang dihasilkan adalah project yang terbaik. Terima kasih semuaa (。◕‿◕。)/

Referensi

https://datasift.github.io/gitflow/IntroducingGitFlow.html

--

--