Menu
CoddyTech

Git Commit --amend

Terakhir diperbarui

git commit --amend mengganti commit terbaru dengan commit baru, sehingga kamu bisa memperbaiki pesannya atau menambahkan file yang lupa di-stage. Perintah ini tidak menambah commit kedua; ia menulis ulang commit terakhir. Karena hash commit-nya ikut berubah, lakukan amend hanya pada commit yang belum kamu push.

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

git commit --amend mengganti commit terakhir dengan versi yang ditulis ulang, bukan menambah commit kedua.

Sintaks

PerintahFungsinya
git commit --amendMengedit commit terakhir beserta pesannya
git commit --amend -m "new message"Mengubah pesan commit terakhir langsung di perintah
git commit --amend --no-editMenambahkan file yang sudah di-stage, pesan tetap sama

Kasus umum

TujuanPerintah
Memperbaiki salah ketik di pesan terakhirgit commit --amend -m "fixed message"
Menambahkan file yang terlupa ke commit terakhirgit add file lalu git commit --amend --no-edit
Amend commit yang sudah di-push (hati-hati)amend, lalu git push --force-with-lease

Pertanyaan seputar git commit --amend

Bagaimana cara mengubah pesan commit terakhir?
Jalankan git commit --amend -m "new message" untuk menggantinya langsung di perintah, atau git commit --amend untuk membuka editor dan menulis ulang di sana. Ini menulis ulang commit terakhir dengan pesan baru. Jangan lakukan pada commit yang sudah kamu push, kecuali kamu siap melakukan force push.
Bagaimana cara menambahkan file yang terlupa ke commit terakhir?
Masukkan file ke staging dengan git add <file>, lalu jalankan git commit --amend --no-edit. Flag --no-edit mempertahankan pesan commit yang ada dan hanya menggabungkan perubahan yang baru di-stage ke commit sebelumnya.
Apakah git commit --amend membuat commit baru?

Tidak. Perintah ini mengganti commit terakhir, bukan menambah commit. Hasilnya terlihat seperti satu commit, tapi secara teknis itu commit baru dengan hash baru yang menggantikan commit lama. Itulah sebabnya amend pada riwayat bersama membutuhkan force push.

Apakah aman melakukan amend pada commit yang sudah di-push?
Hanya kalau hati-hati. Amend menulis ulang commit, jadi setelah push kamu perlu git push --force-with-lease, yang bisa mengganggu siapa pun yang sudah mengambil commit aslinya. Di branch bersama, lebih baik buat commit baru atau pakai git revert daripada amend.
Bisakah saya berlatih ini secara online?
Bisa. Buka playground terminal untuk menjalankan git commit --amend di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas cara memperbaiki commit langkah demi langkah.
Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai