
# Cara Merge Commit Tertentu dari Repo lain
Table of Contents
Kalau kamu hanya ingin merge commit terbaru saja dari repo lain tanpa mengambil semua commit sebelumnya, ada beberapa cara yang bisa digunakan tergantung pada kebutuhanmu.
1. Menggunakan cherry-pick
(Ambil Commit Terbaru Saja)
Kalau kamu hanya ingin mengambil commit terbaru dari branch lain tanpa merge seluruh riwayat commit, gunakan git cherry-pick
.
Langkah-langkahnya:
- Ambil perubahan terbaru dari branch yang ingin di-merge
Terminal window git fetch origin <branch_lain> - Lihat commit terbaru di branch tersebut
Terminal window git log bail/master --oneline - Pilih commit terbaru dan cherry-pick ke branch saat ini
(Ganti
Terminal window git cherry-pick <commit_id><commit_id>
dengan commit terbaru yang ingin diambil, misalnyaabc123
.)
📌 Kapan digunakan?
- Kalau hanya ingin mengambil commit terbaru tanpa mengambil semua commit lama dari repo lain.
2. Merge Commit Terbaru dengan squash
Kalau ingin merge hanya commit terbaru, tapi tetap mempertahankan branch yang bersih, bisa gunakan --squash
:
Langkah-langkahnya:
- Fetch branch yang ingin diambil
Terminal window git fetch origin <branch_lain> - Checkout ke branch saat ini
Terminal window git checkout <branch_saat_ini> - Merge commit terbaru dengan squash
Terminal window git merge --squash origin/<branch_lain> - Commit perubahan hasil merge
Terminal window git commit -m "Merge commit terbaru dari <branch_lain>"
📌 Kapan digunakan?
- Kalau ingin merge commit terbaru dari branch lain, tapi hanya menghasilkan satu commit baru tanpa membawa semua riwayat commit dari branch tersebut.
3. Merge dengan --no-ff
(Jika Ingin Commit Terpisah)
Kalau ingin merge commit terbaru tapi tetap membuatnya sebagai commit terpisah, gunakan opsi --no-ff
:
git merge --no-ff origin/<branch_lain>
📌 Kapan digunakan?
- Kalau ingin merge commit terbaru dari branch lain tanpa fast-forward, supaya commit tetap terpisah dalam riwayat Git.
Kesimpulan
Kebutuhan | Perintah |
---|---|
Ambil commit terbaru saja tanpa seluruh riwayat | git cherry-pick <commit_id> |
Merge commit terbaru tapi sebagai commit baru | git merge --squash origin/<branch_lain> |
Merge commit terbaru dengan tetap memisahkan riwayat | git merge --no-ff origin/<branch_lain> |
Kalau masih ada kendala atau butuh metode lain, kasih tahu ya! 🚀