app logoSearch

Explorer

  • Home Page
Ctrl+Btoggle sidebar
  1. Home
  2. 02 reference notes
  3. topics
  4. git cherry pick

Git Cherry Pick

Pendahuluan

Apa itu cherry-pick pada git?

git cherry-pick digunakan untuk mengambil satu atau beberapa commit tertentu dari branch lain dan menerapkannya ke branch saat ini, tanpa melakukan merge penuh.

Dengan kata lain, cherry-pick memungkinkan kamu memindahkan commit secara selektif, bukan seluruh cabang seperti Rebase.

20251023145827.png

Cara Melakukan cherry pick

20251023150013.png

Pada kasus diatas kita akan hanya mengambil commit dari branch nav dan hanya mengambil commit 'Bugfix in config' saja dan digabungkan ke branch main 1 .

20251023150320.png

Pertama dapatkan dulu hash commit dari commit yang ingin diambil (branch nav) dengan menggunakan perintah

$ git log nav --oneline

Kemudian pastikan kita sudah berada di branch utama yang menerima commit dari cherry pick yaitu branch main.

$ git checkout main
$ git status

Ambil hash commit dari branch nav yaitu 4314d45 dan jalankankan perintah berikut:

$ git cherry-pick 4314d45
20251023150800.png

Sekarang branch main sudah memiliki commit baru yaitu 'Bugfix in config' dan hash-nya juga berbeda.

cheery pick multi commit

cherry-pick juga bisa mengambil beberapa commit sekaligus. Contohnya seperti kasus pada gambar dibawah ini

20251023151209.png

Pada kasus diatas kita mengambil 2 commit pada branch nav yaitu commit 'Bugfix in config' & 'Added logo to footer'.

Cara melakukannya sama, ambil hash commit yang ingin digabungkan dengan perintah:

$ git log nav --oneline

Dan jalankan perintah dibawah ini

$ git cherry-pick 38c452 3a3bd61
20251023151620.png
Catatan

Jika melakukan multi cherry-pick urutan hash sangat berpengaruh

Pada kasus diatas commit terbaru paling depan di branch main adalah 2cea4bd yaitu commit di branch nav paling bawah.

Resolve cheery pick yang Konflik

20251023155433.png

Jika cherry pick terjadi conflict seperti kasus diatas ada beberapa cara mengatasinya 2:

1. Batalkan commit dengan perintah:

$ git cherry-pick --abort

2. Resolve Conflict

Pebaiki conflict nya, gunakan perintah git status untuk mendapatkan file apa saja yang konflik. Setelah memperbaiki konflik nya jalankan perintah dibawah ini:

$ git cherry-pick --continue

Footnotes

  1. Learn Git cherry pick in 4 minutes ↩

  2. Resolve Git Cherry Pick Merge Conflicts ↩

Graph Not Found

Table of Content

  • Pendahuluan
  • Cara Melakukan cherry pick
    • cheery pick multi commit
    • Resolve cheery pick yang Konflik
      • 1. Batalkan commit dengan perintah:
      • 2. Resolve Conflict
Ctrl+Vtoggle sidebar