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.
Sintaks
| Perintah | Fungsinya |
|---|---|
git commit --amend | Mengedit commit terakhir beserta pesannya |
git commit --amend -m "new message" | Mengubah pesan commit terakhir langsung di perintah |
git commit --amend --no-edit | Menambahkan file yang sudah di-stage, pesan tetap sama |
Kasus umum
| Tujuan | Perintah |
|---|---|
| Memperbaiki salah ketik di pesan terakhir | git commit --amend -m "fixed message" |
| Menambahkan file yang terlupa ke commit terakhir | git 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?
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?
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?
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?
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.