Best Practice Satu Branch per Ticket

Best Practice Satu Branch per Ticket

Artikel ini sudah lama

Artikel ini ditulis lebih dari setahun yang lalu. Beberapa informasi mungkin sudah usang.

Dalam pengembangan software modern, sudah menjadi best practice yang umum untuk menggunakan satu Git branch per Jira ticket. Pendekatan ini meningkatkan kejelasan, keterlacakan, dan kolaborasi antar tim. Tapi apa yang terjadi ketika kamu mengerjakan sebuah ticket (Ticket B) yang bergantung pada ticket lain (Ticket A), sementara Ticket A masih dalam proses PR?

Mari kita bahas satu per satu 👇


✅ Kenapa Satu Branch per Ticket Itu Efektif

  • 🔗 Keterlacakan yang Jelas
    Setiap ticket punya branch dan commit history-nya sendiri — mudah dilacak dan diaudit.

  • 📦 Pull Request yang Terfokus
    PR jadi lebih kecil, lebih mudah dibaca, dan lebih mudah di-review.

  • 🔁 Rollback yang Lebih Aman
    Kamu bisa merevert branch tertentu tanpa memengaruhi pekerjaan lain yang tidak terkait.

  • ⚙️ Ramah CI/CD
    Otomatisasi build, test, dan deploy per branch jadi lebih mudah.


🤔 Masalahnya: Ticket B Bergantung pada Ticket A

Kamu sudah push Ticket A ke PR. Sekarang kamu ingin mengerjakan Ticket B, yang dibangun di atas perubahan dari Ticket A. Apa yang harus dilakukan?


🧩 Solusi 1: Branch B dari A

git checkout feature/ticket-a git checkout -b feature/ticket-b
  • Dengan cara ini kamu sudah punya semua perubahan dari A saat mengerjakan B.
  • Ketika A sudah di-merge, lakukan rebase B ke main.
git checkout feature/ticket-b git rebase main

Gunakan ini ketika B benar-benar terblokir tanpa A.
📣 Di PR-mu, sebutkan: "Depends on PR #123 (Ticket A)."


🪄 Solusi 2: Mock atau Stub Ticket A

Kalau A adalah API atau shared logic yang belum benar-benar dibutuhkan sekarang, kamu bisa:

  • Stub/mock perilaku A di Ticket B.
  • Bekerja dari main seperti biasa.
  • Integrasikan setelah A di-merge.

Gunakan ini ketika A dan B bisa dipisahkan secara longgar.


🧱 Solusi 3: Shared Feature Branch (untuk Epic)

Kalau A dan B merupakan bagian dari fitur yang lebih besar, buat sebuah feature base branch:

feature/main-feature
├── feature/ticket-a
├── feature/ticket-b

Kamu merge A dan B ke main-feature, lalu merge itu ke main.

Gunakan ini untuk epic besar atau beberapa PR yang saling terkait.
⚠️ Menambah kompleksitas — tidak selalu sepadan.


🧠 Tips Pro

  • 📝 Dokumentasikan dependencies di deskripsi PR.
  • 🔗 Tautkan Jira ticket agar orang lain bisa mengikuti konteksnya.
  • 🔄 Rebase lebih awal dan lebih sering untuk menghindari konflik.
  • 🧼 Jaga commit tetap terfokus: jangan campur perubahan A dan B.

📌 Ringkasan

SituasiTindakan Terbaik
Ticket B butuh kode ABranch B dari A
Ticket B bisa di-stubKerja dari main, stub A
A & B bagian dari epicGunakan feature branch

Berbagi praktik ini di tim kamu tidak hanya meningkatkan kolaborasi, tapi juga membantu semua orang menulis Git history yang lebih bersih dan merilis fitur lebih cepat 🚀

Suka artikel ini? Bagikan ke temanmu atau salin link-nya!

Artikel Serupa

Prioritas Testing di Era AI: Smoke Test dan Dokumentasi Terlebih Dahulu

Pendapat saya tentang prioritas pengujian modern: mulai dengan smoke test dan dokumentasi, lalu tambahkan pengujian e2e, komponen, dan unit. Pendekatan praktis untuk pengembangan bertenaga AI.

🧪TestingBest Practices🤖AI Development📝Documentation

Conditional Rendering: Taruh di Dalam Komponen

Best practice untuk menempatkan logika conditional rendering di dalam React component menggunakan context atau internal state.

⚛️ReactBest Practices🧹Clean Code

Gunakan <button>, Bukan <div>, untuk Elemen yang Bisa Diklik

Menggunakan <button> alih-alih <div> untuk elemen interaktif meningkatkan aksesibilitas, navigasi keyboard, dan dukungan pembaca layar. Tombol secara alami dapat difokuskan, merespons Enter dan Spasi, dan membutuhkan lebih sedikit kode tambahan. Hindari kompleksitas yang tidak perlu, gunakan elemen semantik yang tepat untuk kegunaan yang lebih baik dan kepatuhan terhadap standar aksesibilitas web.

Accessibility🌐HTMLBest Practices🎯UX

Kekuatan Memulai dari Hal Kecil: Mengapa POC Itu Penting

Membuat Proof of Concept (POC) adalah strategi yang ampuh untuk menghadapi tantangan perangkat lunak yang kompleks. Dengan menguji ide menggunakan implementasi minimal, developer bisa memvalidasi kelayakan, menemukan hambatan lebih awal, dan meningkatkan efisiensi. Artikel ini membahas manfaat, kasus penggunaan, dan langkah-langkah membangun POC yang efektif.

💻Software Development📊Project ManagementBest Practices