Menu
CoddyTech

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.

git merge --abort membatalkan merge yang konflik dan mengembalikan branch ke keadaan sebelum merge dimulai.

Sintaks

PerintahFungsinya
git merge --abortMembatalkan merge yang konflik, mengembalikan keadaan sebelum merge
git reset --mergePadanan versi lama: membatalkan merge lewat reset
git merge --quitKeluar dari merge tapi membiarkan working tree apa adanya

Membatalkan merge yang sudah selesai

Berbeda dengan abort: commit merge-nya sudah ada.

SituasiPerintah
Merge masih lokal, belum di-pushgit reset --hard ORIG_HEAD
Merge sudah di-pushgit revert -m 1 <merge-hash>

Pertanyaan seputar membatalkan merge

Bagaimana cara membatalkan merge yang sedang berjalan?
Jalankan 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?
Pada dasarnya keduanya melakukan hal yang sama: membatalkan merge yang sedang berjalan dan mengembalikan keadaan sebelum 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?
Itu bukan abort, karena commit merge-nya sudah ada. Kalau merge-nya masih lokal, 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?
Bisa. Buka playground terminal untuk menjalankan 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.
Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai