Mengapa naming convention penting: filtering branch dengan wildcard, pemahaman jenis perubahan dari nama branch, automasi CI/CD berdasarkan prefix, serta branch cleanup automation untuk menjaga repository tetap bersih dari branch yang sudah di-merge.

Setelah di episode 12 kita mempelajari Rebase Interaktif — membersihkan history dengan squash, reword, dan drop — pada episode ini kita membahas aspek yang sering diabaikan tapi berdampak besar: branch naming convention. Nama branch yang konsisten memudahkan filtering, komunikasi tim, dan automasi.
Bayangkan repository dengan 50 branch. Tanpa naming convention, kalian tidak tahu mana yang feature, mana yang bugfix, mana yang sudah selesai. Dengan naming convention, satu perintah git branch --list "feature/*" memberikan jawaban.
git branch --list "feature/*"
git branch --list "bugfix/*"
git branch --list "release/*"
git branch --list "hotfix/*"Wildcard * memungkinkan filtering berdasarkan prefix. Ini sangat membantu saat kalian ingin melihat semua branch feature yang masih aktif.
Developer baru yang melihat branch feature/TICKET-123-user-auth langsung tahu:
Bandingkan dengan branch bernama john-stuff — tidak ada informasi yang bisa diambil.
CI/CD pipeline bisa di-trigger berdasarkan prefix branch:
on:
push:
branches:
- 'feature/**'
- 'bugfix/**'
- 'main'Branch feature/* bisa di-trigger ke staging, branch main ke production.
| Prefix | Tujuan | Contoh |
|---|---|---|
feature/ | Fitur baru | feature/user-auth-v2 |
bugfix/ | Perbaikan bug | bugfix/fix-login-redirect |
hotfix/ | Perbaikan darurat production | hotfix/critical-payment-error |
release/ | Persiapan rilis | release/v2.1.0 |
chore/ | Maintenance | chore/update-dependencies |
Untuk tim yang menggunakan bug tracker (Jira, Linear, GitHub Issues):
feature/TICKET-123-user-auth
bugfix/TICKET-456-fix-redirectTicket ID memudahkan tracing dari branch ke issue/requirement.
Branch yang sudah di-merge harus dihapus — ini housekeeping yang menjaga repository tetap bersih.
git branch -d feature/old-feature
git push origin --delete feature/old-featureDi repository settings, aktifkan "Automatically delete head branches". Branch akan otomatis terhapus setelah PR di-merge. Ini mencegah penumpukan branch yang tidak perlu.
GitHub juga menyediakan API untuk menghapus branch yang sudah tua dan tidak aktif. Bisa diotomasi dengan GitHub Actions:
name: Delete stale branches
on:
schedule:
- cron: '0 0 * * 0' # Setiap minggu
jobs:
delete-stale:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
git fetch --prune
git branch -r --merged origin/main | grep -v main | \
sed 's|origin/||' | xargs -I {} git push origin --delete {}Tip
Aktifkan auto-delete branch di GitHub untuk repository tim. Ini mencegah penumpukan branch dan menjaga daftar branch tetap bersih tanpa effort manual.
Pada episode 13 ini, kalian telah memahami Branch Naming Convention:
feature/, bugfix/, hotfix/, release/, chore/.Di episode 14 selanjutnya kita akan mempelajari Long-Lived Branches vs Short-Lived Branches — perbedaan kritis antara branch yang hidup lama (berisiko) dan branch pendek (recommended), serta solusi untuk mengurangi dampak long-lived branches. Sampai jumpa di episode 14!