Git Reset & Revert — Git

Membuat kesalahan itu normal. Git punya beberapa cara untuk membatalkan perubahan: git revert — membuat commit baru yang membatalkan commit tertentu: $ git reve

Membuat kesalahan itu normal. Git punya beberapa cara untuk membatalkan perubahan:

git revert <commit> — membuat commit baru yang membatalkan commit tertentu:

$ git revert abc1234
[main def5678] Revert "tambah fitur X"

Aman — tidak mengubah history, cocok untuk branch yang sudah di-push.


git reset — memundurkan HEAD ke commit tertentu. Ada 3 mode:

--soft — mundurkan HEAD, perubahan tetap di staging:

$ git reset --soft HEAD~1
# commit terakhir dibatalkan, tapi file tetap di staging area

--mixed (default) — mundurkan HEAD, perubahan tetap di working directory:

$ git reset HEAD~1
# commit dibatalkan, file kembali ke status "modified"

--hard — mundurkan HEAD, hapus semua perubahan:

$ git reset --hard HEAD~1
# ⚠️ HATI-HATI: perubahan hilang permanen!

Kapan pakai yang mana?

Situasi Perintah
Commit sudah di-push, perlu dibatalkan git revert
Commit belum di-push, ingin edit ulang git reset --soft
Unstage file dari staging area git reset HEAD <file>
Buang semua perubahan lokal git reset --hard ⚠️

Aturan emas: Jangan pakai git reset --hard pada commit yang sudah di-push ke remote. Gunakan git revert sebagai gantinya.

Yang akan kamu pelajari