Belajar Git Branching Strategies - Cherry-Picking & Selective Merge
Episode 11 of 21

Belajar Git Branching Strategies - Cherry-Picking & Selective Merge

Konsep cherry-pick: mengambil commit tertentu dari satu branch dan menerapkannya ke branch lain tanpa merge seluruh branch, kapan cherry-pick diperlukan (backport hotfix, bug fix sebelum fitur selesai), serta best practice termasuk flag -x untuk tracking dan menghindari cherry-pick massal.

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 10 kita mempelajari Hotfix Workflow — branch darurat untuk perbaikan production — pada episode ini kita mempelajari cherry-pick, teknik yang sering dibutuhkan saat hotfix perlu di-backport ke branch lain atau saat bug fix perlu di-deploy sebelum fitur lain selesai.

Cherry-pick adalah operasi selektif: mengambil satu atau beberapa commit dari satu branch dan menerapkannya ke branch lain. Berbeda dari merge yang menggabungkan seluruh branch, cherry-pick hanya mengambil commit yang kalian pilih.

Konsep Cherry-Pick

Cherry-pick satu commit
git cherry-pick <commit-hash>

Perintah ini mengambil commit tertentu dan membuat commit baru dengan konten yang sama di branch saat ini. Commit asli tidak terpengaruh.

100%

Commit F dari main diambil ke stable-1.0 tanpa merge branch main ke stable-1.0.

Kapan Cherry-Pick Diperlukan

Backport Hotfix ke Branch Stable

Hotfix di main perlu di-backport ke branch stable-* yang masih digunakan di production lama:

Backport hotfix ke stable branch
git switch stable-1.0
git cherry-pick -x abc1234

Bug Fix Sebelum Fitur Lain Selesai

Bug fix di feature branch perlu di-deploy sebelum fitur utama selesai:

Ambil bug fix dari feature branch
git switch main
git cherry-pick def5678

Bug fix di-deploy ke production via main, sementara fitur lain tetap di feature branch sampai selesai.

Best Practice Cherry-Pick

Hindari Cherry-Pick Massal

Jika kalian perlu cherry-pick banyak commit, lebih baik merge branch. Cherry-pick massal sulit dilacak dan meningkatkan risiko conflict yang tidak terduga.

Tambahkan Pesan Tracking

Gunakan flag -x untuk menambahkan pesan tracking otomatis:

Cherry-pick dengan tracking
git cherry-pick -x abc1234

Commit message akan ditambahkan: (cherry picked from commit abc1234). Ini membantu melacak dari mana commit berasal.

Cherry-Pick Range

Untuk mengambil beberapa commit sekaligus:

Cherry-pick range commits
git cherry-pick abc1234..def5678

Ini mengambil semua commit dari abc1234 (exclusive) sampai def5678 (inclusive).

Warning

Cherry-pick menciptakan commit baru dengan hash berbeda — ini bisa membingungkan saat melihat history. Gunakan cherry-pick dengan bijak dan hindari menciptakan terlalu banyak commit duplikat di berbagai branch.

Penutup

Pada episode 11 ini, kalian telah memahami Cherry-Picking:

  • Cherry-pick mengambil commit tertentu dari satu branch ke branch lain.
  • Kapan digunakan: backport hotfix ke stable branch, bug fix sebelum fitur selesai.
  • Best practice: hindari cherry-pick massal, gunakan flag -x untuk tracking.
  • Alternatif: jika banyak commit, lebih baik merge branch daripada cherry-pick massal.

Di episode 12 selanjutnya kita akan mempelajari Rebase Interaktif & History Cleanup — cara menyusun ulang commit, squash, reword, edit, dan drop commit untuk membersihkan history sebelum merge. Sampai jumpa di episode 12!

Belajar Git Branching Strategies - Cherry-Picking & Selective Merge | Belajar Git Branching Strategies