Git: Membatalkan Merge
Terakhir diperbarui
Kalau git merge menemui konflik dan kamu lebih memilih mundur daripada menyelesaikannya, git merge --abort membatalkan merge dan mengembalikan branch-mu persis ke keadaan sebelum kamu memulainya. Ini jalan keluar yang bersih dari merge yang berantakan.
Merge yang sudah selesai dibatalkan dengan cara lain, lihat di bawah. Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu.
Sintaks
| Perintah | Fungsinya |
|---|---|
git merge --abort | Membatalkan merge yang konflik, mengembalikan keadaan sebelum merge |
git reset --merge | Padanan versi lama: membatalkan merge lewat reset |
git merge --quit | Keluar dari merge tapi membiarkan working tree apa adanya |
Membatalkan merge yang sudah selesai
Berbeda dengan abort: commit merge-nya sudah ada.
| Situasi | Perintah |
|---|---|
| Merge masih lokal, belum di-push | git reset --hard ORIG_HEAD |
| Merge sudah di-push | git revert -m 1 <merge-hash> |
Pertanyaan seputar membatalkan merge
Bagaimana cara membatalkan merge yang sedang berjalan?
git merge --abort. Kalau merge berhenti karena konflik dan kamu tidak ingin menyelesaikannya, perintah ini membatalkan seluruh operasi dan mengembalikan branch serta working tree-mu persis seperti sebelum merge dimulai.Apa bedanya git merge --abort dan git reset --merge?
git merge --abort adalah perintah modern yang dibuat khusus untuk itu; git reset --merge adalah cara lama yang masih berfungsi. Pilih git merge --abort agar lebih jelas.Bagaimana cara membatalkan merge yang sudah selesai?
git reset --hard ORIG_HEAD memindahkan branch kembali ke posisinya sebelum merge. Cara ini juga berfungsi setelah fast-forward, sedangkan HEAD~1 tidak. Perintah ini membuang pekerjaan yang belum di-commit, jadi cek git status dulu. Kalau merge-nya sudah kamu push, pakai git revert -m 1 <merge-hash> untuk membaliknya tanpa menulis ulang riwayat bersama.Apakah membatalkan merge akan menghilangkan perubahan lain?
git merge --abort mengembalikan keadaan tepat sebelum merge, jadi perubahan dari merge dibuang, tapi pekerjaanmu yang sudah di-commit tetap utuh. Kalau ada perubahan yang belum di-commit sebelum merge dimulai, commit atau stash dulu, karena abort mengembalikan keadaan commit sebelum merge.Bisakah saya berlatih ini secara online?
git merge --abort di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas merge dan cara menyelesaikan konflik langkah demi langkah.