DEV Community

Deby Silvia Agnes for Hash Rekayasa Teknologi

Posted on • Updated on

Penggunaan Branch Feature pada Git Flow

Photo by Richy Great on Unsplash

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 :

  1. Master merupakan branch yang menyimpan official release history. Jadi hanya berisi kode yang di-deploy ke production-server, sudah lolos testing, dan dirilis.

  2. 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

  1. Cari extension “ gitflow” di VSCode.

  2. Biasanya yang saya gunakan adalah extension milik vector-of-bool :

Extension Gitflow by dokumentasi penulis

Penggunaan

Penggunaan yang akan saya jelaskan disini adalah menggunakan CLI. Karena jika menggunakan extension, sudah terdapat panduan yang dapat di ikuti.

  1. Langkah pertama yang harus dilakukan adalah melakukan inisialisasi git flow untuk local repo :
git flow init -d
Enter fullscreen mode Exit fullscreen mode

Git Flow Init -d by dokumentasi penulis

-d menandakan bahwa kita menggunakan versi default dari git flow.
Perintah ini akan membuat 2 branch, yaitu master dan develop
Branch default Git Flow by dokumentasi penulis

2.Selain itu, kita juga otomatis checkout ke branch develop

3.Kemudian juga otomatis ada initial commit
Initial Commit by dokumentasi penulis

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>
Enter fullscreen mode Exit fullscreen mode

Feature Start by dokumentasi penulis

5.Sekarang kita sudah ada di branch feature/function-balances. Kita dapat mulai ngoding disini untuk membuat fitur tersebut.
Ada di branch feature/<nama_feature> by dokumentasi penulis

6.Jika telah selesai membuat fitur, cek status perubahan menggunakan perintah :

git status
Enter fullscreen mode Exit fullscreen mode

Git status by dokumentasi penulis

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>"
Enter fullscreen mode Exit fullscreen mode

Git Add dan Commit All Changes by dokumentasi penulis

8.Jika git status sudah seperti dibawah ini, maka artinya perubahan yang kita lakukan sudah selesai kita commit semua.

Status Nothing To Commit by dokumentasi penulis

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>
Enter fullscreen mode Exit fullscreen mode

Publish Feature Untuk di Review by dokumentasi penulis

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.
PR di Github by dokumentasi penulis

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>
Enter fullscreen mode Exit fullscreen mode

Finish Feature from review by dokumentasi penulis

12.Lakukan push ke branch develop
Push ke develop by dokumentasi penulis

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:

4 branching workflows for Git

A successful Git branching model
Gitflow Workflow | Atlassian Git Tutorial
Git Flow 01 - Intro

Gitflow in Practice

Gitflow — Branch Guide

Git-flow : The right way to go

Top comments (0)