Menu
CoddyTech

Git: Membatalkan Commit Terakhir

Terakhir diperbarui

Untuk membatalkan commit terbaru, tentukan dulu apa yang terjadi pada perubahannya. Biarkan tetap di-stage dengan git reset --soft HEAD~1, biarkan tidak di-stage dengan git reset HEAD~1 biasa, atau buang dengan git reset --hard HEAD~1. Kalau commit-nya hanya sedikit keliru, git commit --amend memperbaikinya di tempat. Kalau sudah di-push, pakai git revert, bukan menulis ulang riwayat. Untuk membatalkan commit yang lebih lama atau beberapa commit sekaligus, lihat halaman git undo commit.

Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.

Membatalkan commit terakhir memundurkan HEAD satu langkah. Mode yang dipilih menentukan apakah perubahannya tetap di staging, keluar dari staging, atau dibuang.

Tentukan nasib perubahannya

TujuanPerintah
Batalkan commit, perubahan tetap di-stagegit reset --soft HEAD~1
Batalkan commit, perubahan tidak di-stagegit reset HEAD~1
Batalkan commit, perubahan dibuanggit reset --hard HEAD~1
Perbaiki commit terakhir (pesan atau file)git commit --amend
Batalkan commit yang sudah kamu pushgit revert HEAD

Contoh langkah demi langkah

Batalkan commit terakhir lalu commit ulang dengan pesan yang lebih baik.

LangkahPerintahHasil
1git reset --soft HEAD~1Commit dihapus, perubahan tetap di-stage
2git commit -m "clearer message"Commit ulang perubahan yang sama

Pertanyaan seputar membatalkan commit terakhir

Bagaimana cara membatalkan commit terakhir tapi tetap menyimpan perubahannya?
Jalankan git reset --soft HEAD~1. Perintah ini menghapus commit terakhir tapi membiarkan perubahannya tetap di-stage, jadi kamu bisa langsung commit ulang. Kalau kamu ingin perubahannya berada di working tree tanpa di-stage, pakai git reset HEAD~1 (mode default).
Bagaimana cara membatalkan commit terakhir sekaligus menghapus perubahannya?
Jalankan git reset --hard HEAD~1. Perintah ini menghapus commit dan membuang perubahannya dari working tree. Sifatnya merusak: kalau kamu mungkin masih butuh pekerjaan itu, pakai --soft, atau pulihkan nanti lewat git reflog.
Bagaimana kalau hanya pesan commit yang perlu diperbaiki?
Pakai git commit --amend. Perintah ini membuka lagi commit terakhir supaya kamu bisa mengedit pesannya (dan stage ulang file kalau perlu) tanpa membuat commit terpisah. Hindari amend pada commit yang sudah kamu push, karena ini menulis ulang riwayat.
Bagaimana cara membatalkan commit terakhir setelah di-push?
Pakai git revert HEAD. Revert membuat commit baru yang membalik commit terakhir dan membiarkan riwayat utuh, pilihan yang aman untuk branch bersama. Melakukan reset pada commit yang sudah di-push memaksa semua orang lain menyelaraskan branch yang ditulis ulang.
Bisakah saya berlatih ini secara online?

Bisa. Buka playground terminal untuk menjalankan perintah-perintah ini di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas cara membatalkan perubahan langkah demi langkah.

Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai