Gitflow Workflow

Teknik Kolaborasi TI

Apa itu Workflow?


Gitflow Workflow


Cabang Sejarah


Cabang Fitur


Cabang Rilis


Cabang Perbaikan


Contoh GitFlow Workflow

Sebelum memulai buat cabang develop dari cabang master.

$ git checkout develop

Kemudian push ke origin

$ git push -u origin develop

Tim Cloning

Semua anggota tim cloning dari repositori pusat tersebut.

$ git clone ssh://[email protected]/path/to/repo.git

Kemudian membuat cabang develop dari origin.

$ git checkout -b develop origin/develop

Contoh kasus Fitur baru

Ketika membuat fitur baru buat cabang baru dari develop dan beri nama cabang sesuai nama fiturnya

$ git checkout -b fitur-A develop		

Setelah itu coding, dan commit.

Ketika fitur selesai

Setelah selesai fitur digabungkan kembali ke develop dan dihapus.

$ git pull origin develop
$ git checkout develop
$ git merge some-feature
$ git push origin develop
$ git branch -d some-feature		

Mempersiapkan rilis

Setelah sebuah cabang develop telah berisikan banyak fitur saatnya mempersiapkan rilis

Buat cabang rilis baru dan perbaiki bug, dokumentasi, testing dan lainnya yang berhubungan dengan rilis.

$ git checkout -b release-0.1 develop

Membuat rilis

Setelah persiapan rilis selesai, cabang rilis digabungkan ke cabang master dan develop kemudian dihapus.

$ git checkout master
$ git merge release-0.1
$ git push
$ git checkout develop
$ git merge release-0.1
$ git push
$ git branch -d release-0.1		

Berikan tag versi baru di master

Setiap kali menggabungkan cabang rilis ke master, maka master diberi tag versi baru.

$ git tag -a 0.1 -m "Initial public release" master
$ git push --tags

Penemuan bug setelah rilis

Setelah rilis apabila ditemukan bug maka harus diperbaiki di cabang perbaikan.

Buat cabang perbaikan dari master dan perbaiki, setelah itu gabungkan ke master dan develop serta dihapus.

$ git checkout -b issue-#001 master
# Fix the bug
$ git checkout master
$ git merge issue-#001
$ git push
$ git checkout develop
$ git merge issue-#001
$ git push
$ git branch -d issue-#001