Pentingnya Git Flow dalam Membangun Aplikasi
Apa itu Git Flow ?
Git Flow merupakan sebuah model perancangan branch dari Git, dimana perancangan branch tersebut sangat membantu suatu tim dalam mengembangkan suatu aplikasi. Hal ini akan membantu dalam melakukan pengembangan secara paralel dimana tiap individu dari sebuah tim akan membuat fitur yang berbeda-beda. Dengan membuat branch untuk setiap fitur, maka jika terjadi error fatal pada suatu branch, maka error tersebut tidak akan mempengaruhi fitur yang ada di branch lain.
Penggunaan branch juga sangat membantu dalam proses staging di dalam sebuah aplikasi. Kita dapat membuat sebuah branch bernama development dimana branch tersebut merupakan tempat untuk menggabungkan semua fitur yang ada dan setelah itu akan dilakukan test sebelum semua fitur tersebut masuk ke dalam production. Jika terdapat error pada suatu fitur di dalam branch development, maka orang yang mengurusi fitur tersebut dapat melakukan pull dari development untuk dilakukan debugging.
Cara Kerja Git Flow
Jika kita ingin menambahkan sebuah fitur pada sebuah aplikasi, kita dapat pertama kali melakukan checkout dari branch master menuju branch development. Dari branch development, kita dapat membuat branch baru sebagai tempat untuk mengimplementasikan fitur yang akan dikerjakan dan melakukan checkout ke branch tersebut.
Setelah menyelesaikan fitur pada branch fitur, kita dapat melakukan merging ke dalam branch development. Jika semua fitur yang ingin ditambahkan ke sebuah aplikasi sudah merge ke dalam branch development, maka kita dapat masuk ke dalam release branch. Pada branch ini, kita akan melakukan testing terhadap fitur-fitur yang telah ditambahkan. Jika pada saat testing terdapat error, maka dapat dilakukan debugging pada branch tersebut.
Setelah memastikan bahwa tidak ada bug yang ada di release branch, maka dari branch tersebut dapat dilakukan merge ke dalam branch master dan development. Tujuan dari melakukan merge ke dalam branch development agar setiap perubahan yang ada pada release branch tidak akan hilang ketika sedang berada di branch development.
Jika program yang telah dilakukan merge ke master terdapat kesalahan, maka program yang terdapat di master akan dibawa ke branch hotfix untuk dilakukan emergency fixing. Setelah bug yang ada telah diatasi, maka program yang ada di hotfix branch akan dilakukan push ke branch master dan development.
Dalam pengerjaan PBI yang ada di PPL, saya juga menerapkan Git Flow agar memudahkan kelompok saya dalam membangun PBI nya.
Dapat dilihat pada branch di atas bahwa terdapat branch PBI, coldfix, development, staging, dan master. Branch PBI dapat diartikan sebagai branch fitur dan branch dev- merupakan branch untuk task-task yang telah dibagi dari branch PBI.
Sekian mengenai penjelasan saya mengenai kegunaan Git Flow dalam memudahkan pengembangan sebuah aplikasi. Semoga bermanfaat.
Referensi :