Git Flow
Halo teman-teman, kembali dengan Luqman! Kali ini saya akan menjelaskan mengenai Git Flow.
Apa itu Git?
Git adalah sebuah Version Control System (VCS) yang digunakan dalam pengembangan software. Dengan digunakannya Git, para developer dapat berkolaborasi dan berkoordinasi. Git juga bisa melihat perubahan-perubahan yang dilakukan dari sebuah repository.
Git mempunyai fitur branch, di mana developer dapat membuat versi baru dari repository utama untuk dikembangkan sesuai fitur yang ingin dikembangkan, yang pada akhirnya bisa dilakukan merge untuk menggabungkan 2 branch berbeda.
Cara Kerja
Terdapat beberapa cabang atau branch beserta tugasnya:
- Branch Master
Merupakan branch utama yang menyimpan code yang siap dideploy ke dalam production environment. Code juga siap untuk dipakai oleh pengguna.
- Branch staging
Merupakan branch utama pengembangan, dan berisi semua gabungan code hasil pekerjaan setiap developer digabung menjadi satu. Aplikasi yang digunakan saat sprint review berasal dari branch ini.
- Branch User Story
Merupakan branch untuk pengembangan dan implementasi user story. Penamaan branch ini disesuaikan dengan nomor dan nama user story yang dikembangkan.
- Branch Hotfix
Merupakan branch terusan dari branch master yang dibuat jika terdapat bug atau error pada branch master. Branch ini digunakan untuk memperbaiki bug, dan setelah bug diperbaiki akan dimerge kembali dengan branch master.
- Branch Coldfix
Merupakan branch yang dibuat untuk rollback. Hal ini dilakukan jika product owner menolak salah satu atau beberapa user story yang sudah dikembangkan saat sprint review.
Git Manual
- Git Pull
Menarik file dari repository online dan langsung merge dengan repository lokal.
- Git Push
Meng-update repository online dengan repository local pada komputer developer.
- Git Clone
Mengambil repository online ke sebuah directory pada local, dan secara otomatis membuat branch-branch yang sudah ada pada repository online.
- Git Merge
Menggabungkan 2 branch dengan cara memasukkan suatu branch ke branch yang lain.
- Git Rebase
Mirip dengan merge, tapi juga menulis ulang project history dengan membuat commit baru pada branch tujuan untuk setiap commit di branch awal.
- Git Revert
Menyimpan commit yang sudah dilakukan dan memundurkan state suatu repository menjadi sebelum commit dilakukan.
- Git Stash
Menyimpan kondisi repository saat ini, dan mundur ke kondisi repository yang ‘bersih’.
- Git Remote
Mengatur set repository yang di-track.
- Git Checkout
Berpindah branch yang dikerjakan.
- Git Branch
Melihat, membuat, atau menghapus branch yang ada.
Referensi: https://git-scm.com/doc