Menu
CoddyTech

Git Revert

Terakhir diperbarui

git revert membatalkan sebuah commit dengan membuat commit baru yang menerapkan kebalikan dari perubahannya. Karena perintah ini menambah riwayat alih-alih menulis ulang, revert adalah cara aman untuk membatalkan commit yang sudah di-push. Berbeda dengan git reset, revert tidak memaksa semua orang lain menyelaraskan branch yang ditulis ulang.

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

git revert membiarkan commit yang salah tetap ada dan menambahkan commit baru yang membalikkannya. Riwayat tidak pernah ditulis ulang.

Sintaks

PerintahFungsinya
git revert HEADMembatalkan commit terbaru
git revert <hash>Membatalkan commit tertentu berdasarkan hash
git revert HEAD~2..HEADMembatalkan rentang commit
git revert -n <hash>Revert tapi belum membuat commit (hanya stage)
git revert -m 1 <merge-hash>Membatalkan merge commit, mempertahankan parent 1

Selama revert berjalan

Kalau revert menemui konflik, selesaikan lalu lanjutkan.

PerintahFungsinya
git revert --continueMelanjutkan setelah konflik selesai
git revert --abortMembatalkan revert yang sedang berjalan
git revert --skipMelewati commit saat ini lalu lanjut

revert vs reset

Perilakugit revertgit reset
Menulis ulang riwayatTidakYa
Aman untuk commit yang sudah di-pushYaTidak
Membuat commit baruYaTidak
Membatalkan commit di tengah riwayatYaMerepotkan

Pertanyaan seputar git revert

Apa bedanya git revert dan git reset?
git revert menambahkan commit baru yang membatalkan perubahan dari commit sebelumnya dan membiarkan riwayat utuh, aman untuk commit yang sudah kamu push. git reset memindahkan penunjuk branch mundur dan menulis ulang riwayat, tidak masalah untuk commit lokal tapi berbahaya di branch bersama. Pakai revert untuk membatalkan commit publik, reset untuk commit lokal.
Bagaimana cara revert commit yang sudah di-push?
Jalankan git revert <hash> (atau git revert HEAD untuk yang terbaru), lalu push commit revert yang baru. Karena revert tidak menulis ulang riwayat, ini cara yang benar untuk membatalkan commit bersama: tanpa force push dan tanpa mengganggu rekan tim yang sudah mengambilnya lewat pull.
Bagaimana cara revert merge commit?
Merge commit punya dua parent, jadi Git perlu tahu garis riwayat mana yang dipertahankan. Pakai git revert -m 1 <merge-hash>, dengan -m 1 yang memberi tahu Git untuk mempertahankan parent pertama (biasanya branch tujuan merge). Revert pada merge membatalkan perubahan hasil merge tapi tetap menyimpan merge itu di riwayat.
Bisakah revert beberapa commit sekaligus?
Bisa. Berikan rentang seperti git revert HEAD~2..HEAD untuk membatalkan dua commit terakhir, atau sebutkan beberapa hash. Secara default Git membuat satu commit revert untuk setiap commit yang dibatalkan; tambahkan -n untuk memasukkan semua pembatalan ke staging tanpa commit, lalu buat satu commit sendiri.
Bisakah saya berlatih ini secara online?
Bisa. Buka playground terminal untuk menjalankan git revert 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