in Programming

Simple Git Flow – Cara bekerja secara tim menggunakan Git dengan baik & benar

Berikut akan dijelaskan mengenai cara menggunakan Git Flow paling sederhana pada sebuah project software development (baik itu website maupun aplikasi mobile/desktop) yang dimana biasanya melibatkan Project Manager dan beberapa tim programmer.

Git Flow pada dasarnya adalah strategi pengaturan nama branch untuk memudahkan dan mengelompokan alur kerja pada sebuah project, hanya pada umumnya terdiri dari branch berikut:

  1. Master, branch utama dan tidak boleh ada 1 error pun disini, kadang disebut juga RC Release Candidate, yang berisi fitur-fitur siap dirilis
  2. Develop, branch tempat development, kontrol ada di Project Manager
  3. Features, branch untuk setiap fitur baru yang dikerjakan tim, disini tim programmer bebas berekplorasi, ada error bagaimana pun tidak jadi masalah, karena terisolasi
  4. Hotfix, branch yang biasa digunakan untuk melakukan patch atau membetulkan error/issue yang terjadi
  5. Release, branch khusus versioning, biasanya dipakai untuk merilis versi-versi aplikasi yang berisi fitur-fitur stable (layak pakai)

Pada kali ini, yang akan dibahas hanya branch develop, features, dan hotfix saja. Next time kita akan bahas kupas tuntas kembali. Gapapa ya? 🙂

Berikut adalah ilustrasi dari alur proses development yang akan kita gunakan saat ini:

Sebelum tim programmer mengerjakan task, baik itu membuat sebuah fitur baru atau membetulkan 1 error, pastikan branch aktif selalu di develop dan lalukan pull, untuk mendapatkan update kode terakhir dari tim lain. Caranya adalah seperti berikut ini:

$ git checkout develop
$ git pull origin develop

Kemudian biasakan untuk membuat sebuah branch baru dengan format sesuai jenis task yang akan dikerjakan, kita bedakan dengan prefix features dan hotfix.

Jika fitur baru

$ git checkout -b features/nama-fitur develop

Jika membetulkan error

$ git checkout -b hotfix/nama-error develop

Lalu setelah itu tim programmer bisa mulai untuk bekerja, dan seperti biasa jika sudah selesai bisa di add & commit

$ git add .
$ git commit -m "1. sebutkan satu per satu apa saja yang sudah dikerjakan
2. tidak perlu panjang, yang penting jelas
3. tapi jangan terlalu pendek dan rancu
4. buat pesan commit yang mudah dimengerti tim lain"

Kemudian di-Push-kan ke repository branch masing-masing seperti ini

$ git push origin features/nama-fitur
atau
$ git push origin hotfix/nama-error

Selanjutnya kita buat Pull Request baru, untuk contoh disini kita pakai Bitbucket, namun secara konsep sama baik itu menggunakan GitHub, GitLab, dll.

Jangan lupa set Reviewer ke Project Manager Anda, agar ada notifikasi ke email untuk review pekerjaan kita. Kita tidak perlu repot lagi untuk menginformasikan ke Project Manager, dan Project Manager juga tidak perlu menanyakan ke masing-masing tim programmer lagi.

Sambil menunggu review, kerjakan task lain, ulangi dari awal kembali seperti yang sudah dijelaskan tadi.

Jika ada revisi, lanjutkan pekerjaan di branch task kita kembali dengan:

$ git checkout features/nama-fitur
atau
$ git checkout hotfix/nama-error

Lalu kita betulkan sesuai revisi, dan jika sudah selesai add & commit kembali, lalu push

$ git add .
$ git commit -m "1. sebutkan satu per satu apa saja yg direvisi
2. buat pesan commit yang mudah dimengerti tim lain"

$ git push origin features/nama-fitur
atau
$ git push origin hotfix/nama-error

Infokan jika sudah di push kepada Project Manager Anda, tidak perlu membuat Pull Request kembali, karena Pull Request yang sudah dibuat tetap ada di Bitbucket sampai di lakukan Approval.

Jika sudah tidak ada revisi lagi, Project Manager akan melakukan Merge branch task kita ke branch develop secara otomatis ketika tombol Merge pada Pull Request diklik.

Salah satu keuntungan lain Pull Request adalah Project Manager bisa tahu ketika ada kode yang conflict dan memerlukan tindak lanjut tim terkait secara otomatis.

Maka dari itu sangat penting sekali kenapa jika sebelum mulai bekerja, setiap tim programmer harus melakukan pull branch develop, tidak hanya agar kode selalu clean (tidak ada error), juga agar uptodate mendapatkan kode hasil tim programmer lainnya.

Begitulah kira-kira salah satu tips menggunakan Git agar bekerja secara tim lebih efektif dan lebih terorganisir. Sampai jumpa di artikel berikutnya

Write a Comment

Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.