Terdapat beberapa macam branching workflow yang dapat digunakan oleh pengguna git. Diantaranya Git Flow, Github Flow, Gitlab Flow, dan One Flow. Penjelasan lengkapnya seperti yang dijelaskan dalam artikel 4 Branching Workflows For Git.
Salah satu yang terkenal dan kebetulan digunakan di perusahaan saya sekarang, adalah Git Flow.
Git Flow dipublikasikan oleh Vincent Driessen dan sangat populer karena cocok untuk kolaborasi tim dan scaling the development team. Info selengkapnya terdapat disini.
Perkenalan
Branch utama dalam Git FLow adalah :
Master merupakan branch yang menyimpan official release history. Jadi hanya berisi kode yang di-deploy ke production-server, sudah lolos testing, dan dirilis.
Develop merupakan branch pre-production yang digunakan untuk development yang nantinya memiliki branch feature, release, dan bugfix. Jadi, penambahan fitur baru, perbaikan kode, dan development yang dilakukan oleh developer — developer lain berada pada branch ini.
Dalam Git Flow juga dapat menandai semua commit pada branch master dengan version number.
Cara Installasi
Disini kita bisa menggunakan versi CLI maupun versi extension di editor Visual Studio Code (VSCode). Namun, karena saya terbiasa menggunakan CLI, maka saya lebih nyaman menggunakan CLI. Karena menurut saya, penggunaan extension di editor VSCode cukup membuat saya bingung dan takut terjadi kesalahan (human error on click). Sehingga saya hanya menggunakan beberapa fitur saja. Namun semua itu kembali kepada kalian yang menggunakan. Disini saya akan mengulas cara installasi di keduanya.
Installasi di CLI
Windows: ikuti instruksi disini. git-flow-avh sudah termasuk di dalam paket Git for Windows.
Linux: sudo apt-get install git-flow
Untuk informasi instalasi pada OS yang lainnya, dapat dilihat di installasi gitflow-avh.
Installasi Extension di VSCode
Cari extension “ gitflow” di VSCode.
Biasanya yang saya gunakan adalah extension milik vector-of-bool :
Penggunaan
Penggunaan yang akan saya jelaskan disini adalah menggunakan CLI. Karena jika menggunakan extension, sudah terdapat panduan yang dapat di ikuti.
- Langkah pertama yang harus dilakukan adalah melakukan inisialisasi git flow untuk local repo :
git flow init -d
-d menandakan bahwa kita menggunakan versi default dari git flow.
Perintah ini akan membuat 2 branch, yaitu master dan develop
2.Selain itu, kita juga otomatis checkout ke branch develop
3.Kemudian juga otomatis ada initial commit
Buat Feature
4.Selanjutnya, kita dapat melakukan develop project. Jika kita akan menambahkan fitur, kita kerjakan di branch feature dengan membuat branch feature terlebih dahulu dengan perintah :
git flow feature start <nama_feature>
5.Sekarang kita sudah ada di branch feature/function-balances. Kita dapat mulai ngoding disini untuk membuat fitur tersebut.
6.Jika telah selesai membuat fitur, cek status perubahan menggunakan perintah :
git status
7.Sebelum melakukan commit, pastikan file yang berubah telah di add. Kita boleh memasukkan semua file dalam satu commit (agar lebih cepat) atau boleh juga jika ingin setiap satu file dalam satu commit. Namun disini saya memasukkan semua file dalam satu commit.
git add .
git commit -m "<message>"
8.Jika git status sudah seperti dibawah ini, maka artinya perubahan yang kita lakukan sudah selesai kita commit semua.
Publish Feature Untuk Review
9.Setelah kita melakukan perubahan, sebaiknya feature kita dapat di review dahulu oleh anggota tim yang lain. Sehingga feature di publish terlebih dahulu.
git flow feature publish <nama_feature>
10.Kita buat PR (Pull Request) ke branch develop. PR digunakan di Github, namun jika menggunakan Gitlab, maka namanya ada Merge Request. Disini saya menggunakan github.
Klik compare & pull request untuk membuat PR ke branch develop.
11.Setelah code review selesai, maka bisa merge melalui web atau melalui terminal dengan perintah :
git flow feature finish <nama_feature>
12.Lakukan push
ke branch develop
13.Karena branch feature sudah di merge ke develop dan tidak digunakan lagi, maka branch feature di local komputer kita bisa kita hapus
.
Baik sekian penggunaan git flow melalui CLI kali ini.
Jika menggunakan extension VSCode dapat lebih mudah karena tinggal klik klik saja. Namun penggunaan yang nyaman yang mana, itu kembali lagi kepada masing — masing developer yang menggunakan.
Source:
A successful Git branching model
Gitflow Workflow | Atlassian Git Tutorial
Git Flow 01 - Intro
Top comments (0)