Anda di halaman 1dari 16

Gitflow Workflow

Teknik Kolaborasi TI

PRODI. TEKNIK INFORMATIKA (S-1)


Apa itu Workflow?
• Workflow merupakan serangkaian cara kerja yang
disepakati bersama untuk mencapai tujuan
tertentu.
• Git Workflow adalah kesepakatan dalam tata cara
penggunaan Git dalam kolaborasi.
• Ada banyak Workflow dalam Git baik
yang terdokumentasi ataupun tidak.
(https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows)
Gitflow Workflow

• Gitflow merupakan salah satu Workflow yang terdapat dalam Git.


• Gitflow merupakan workflow central repository (satu repository yang
berfungsi sebagai pusat komunikasi antara semua developer).
• Jika menggunakan SourceTree maka Gitflow merupakan salah satu fitur
didalamnya
Cabang Sejarah

•GitFlow menggunakan dua cabang sebagai cabang sejarah yaitu cabang


master dan develop.
•Master merupakan cabang untuk sejarah rilis official.
•Umumnya setiap commit baru di Master diberi Tag versi.
•Develop merupakan cabang untuk integrasi terhadap fitur-fitur.
Cabang Fitur

• Cabang fitur dibuat setiap kali ada fitur baru.


• Cabang fitur dipecah dari cabang develop dan digabungkan kembali
ke develop apabila sudah selesai.
• Cabang fitur tidak boleh berhubungan dengan cabang master.
• Setiap fitur baru memiliki satu cabang sendiri.
Cabang Rilis

• Ketika cabang develop sudah memiliki banyak fitur maka cabang rilis
akan dipecah dari cabang develop.
• Dalam cabang develop hanya berisikan pembuatan dokumentasi, bug
fixes, dan hal-hal lain untuk persiapan rilis.
• Ketika sudah siap dirilis, cabang rilis akan digabungkan ke cabang
master dan develop dan diberi tag versi.
Cabang Perbaikan

• Cabang perbaikan (hotfix) digunakan secara cepat memperbaiki bug yang


krusial di cabang master.
• Cabang perbaikan dipecah dari cabang master dan digabungkan setelah
selesai ke cabang master kembali.
• Umumnya versi minor dari master akan bertambah setelah ada gabungan
dari 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://user@host/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
PERTANYAAN ?

Anda mungkin juga menyukai