Cheat-sheet Conventional Branch di Git, Sangat Disarankan

Author Image

Iyan Zuli

3 min read

Share:

https://images.unsplash.com/photo-1647166545674-ce28ce93bdca?ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8Z2l0aHViJTIwZ2l0fGVufDB8fDB8fHww&auto=format&fit=crop&q=60&w=500
Category: Cheatsheet
Tags:
gitGitHub

Kenapa Perlu Conventional Branch di Git?

Sebagai developer, kita sering membuat banyak branch dalam satu repository. Namun tanpa aturan yang jelas, branch bisa cepat berantakan. Dengan Conventional Branch, struktur penamaan branch menjadi konsisten, mudah dibaca, dan membantu otomatisasi CI/CD. Sama seperti Conventional Commits, sistem ini tidak wajib, tapi sangat direkomendasikan untuk project kolaboratif atau tim besar.

Sumber pembuatan cheat sheet conventional branch berasal dari pengalaman pribadi serta sumber external sebagai berikut:


Definisi

Conventional Branch adalah aturan commits yang telah disepakati oleh komunitas developer sebagai standar commit untuk kemudahan tracking version control system seperti git. Meskipun tidak wajib, aturan ini sangat disarankan dan sudah diterapkan oleh mayoritas developer. Conventional ini juga boleh dibuat aturan tersendiri untuk pattern branch, misalnya dalam suatu perusahaan ingin membuat aturannya tersendiri. Meskipun fokusnya adalah untuk developer, conventional branch dapat diterapkan di luar bidang itu seperti data analyst, data science, dan lain sebagainya dengan sedikit perbedaan.

Penggunaan branch dapat dilakukan dengan git branch untuk melihat daftar branch dan branch saat ini. Untuk berpindah branch, dapat menggunakan git checkout <nama-branch>.

Btw bisa juga memakai extension nya di VSCode kalau mau.


Kenapa Penting?


Cheat Sheets

{type}/{description}
git branch {type}/{description}

Struktur diatas adalah contoh pembuatan branch baru, tanpa kurung kurawal. Berikut ialah penjelasannya satu per satu komponen:

  1. Deskripsi

    Berperan sebagai inti dari pesan perubahannya dan wajib ada. Berikut aturannya:

    • Berisi tentang mendeskripsikan secara singkat, jika dibaca otomatis paham apa isi branch nya
    • Lowercases (huruf kecil semua), angka diperbolehkan
    • Dipisahkan dengan hypens ( - ) alias kebab-case, diperbolehkan menggunakan titik ( . ) sebagai pemisah untuk penanda versi di tipe release/
    • Dilarang double titik atau double hypens
    • Singkat dan jelas
    • Jika memungkinkan, tambahkan issue tiket seperti /issue-123-new-homepage

  2. Tipe

    Berperan sebagai kategori perubahan dan wajib ada. Berikut aturannya:

    • Singkat dan menggunakan lowercase
    • Disarankan memakai kata kunci standar

    Kata Kunci Standar

    Kata kunci terdapat beberapa standar yang digunakan. Jika dalam kasus tertentu kata kunci standar tidak cukup, membuat kata kunci custom adalah ide bagus. Berikut daftar kata kunci standar nya.

    1. feature (or feat)

      Branch untuk menambahkan fitur yang berdampak pada user. Gunakan jika:

      • menambahkan fitur baru
      • menambahkan fungsionalitas baru

      Contoh:

      • feature/add-new-login-system
      • feat/implement-exception-pages

    2. bugfix (or fix)

      Branch untuk perbaikan bug atau error yang berdampak pada user. Gunakan jika:

      • memperbaiki bug atau error
      • memperbaiki kesalahan tujuan program

      Contoh:

      • bugfix/fix-response-status
      • fix/hook-call-bug

    3. hotfix

      Sama seperti hotfix, tetapi khusus untuk perbaikan yang penting / urgent. Gunakan jika:

      • perbaikan yang penting

      Contoh:

      • hotfix/password-salt-pepper

    4. release

      Branch untuk persiapan atau untuk versi rilis. Gunakan jika:

      • menambah versi atau varian baru
      • mengupdate versi baru

      Contoh:

      • release/v3.20.1
    5. chore

      Branch yang tidak berdampak pada program (non-code task). Gunakan jika:

      • urusan maintenance & routine task
      • mengupdate dependencies atau devDepencies
      • mengkonfigurasi project settings (package.json. .gitignore, dll)
      • update docs
      • perubahan lain yang tidak termasuk ke dalam tipe-tipe sebelumnya

      Contoh:

      • chore/update-dependencies-and-devdependencies


Ringkasan

Berikut adalah poin penting dari cheat sheet conventional branch:

TipeTujuan
feature / featMenambahkan fitur atau fungsi baru yang berdampak ke user
bugfix / fixMemperbaiki bug, error, atau kesalahan yang berdampak ke user
hotfixMemperbaiki bug, error, atau kesalahan yang cukup urgent
releaseBranch khusus untuk perilisan
choreMaintenance, non-code task, routine task, update dependencies/devdependencies, konfigurasi project, update docs. Perubahan lain yang tidak termasuk pada tipe sebelumnya

Kesimpulan

Conventional branch pada git sangat disarankan. Jika belum terbiasa menerapkannya, terapkan secara perlahan. Tujuannya sangat bagus, untuk kemudahan koordinasi, komunikasi, hingga automatisasi. Hope you enjoy it Developers ^-^


Catatan dari penulis terkait Bootstrap CSS:

Untuk conventional branch ini, saya sendiri baru menerapkan sehingga pengalaman cukup sedikit. Selain itu, ada versi advance dari conventional branch seperti scope, ref issue, dll. Tapi itu semua opsional, yang versi disarankan dan minimalis sudah saya tulis disini.

Share: