Menu
Coddy logo textTech

Git Commit --amend

Son güncelleme

git commit --amend en son commit'i yenisiyle değiştirir; böylece mesajını düzeltebilir veya hazırlamayı unuttuğun dosyaları ekleyebilirsin. İkinci bir commit eklemez; sonuncuyu yeniden yazar. Bu commit'in hash'ini değiştirdiği için yalnızca henüz göndermediğin commit'leri amend et.

Bunları terminal playground'da dene: tarayıcında gerçek bir kabuk, kurulacak hiçbir şey yok.

git commit --amend ikinci bir commit eklemek yerine son commiti yeniden yazılmış olanla değiştirir.

Söz dizimi

CommandWhat it does
git commit --amendSon commit'i ve mesajını düzenler
git commit --amend -m "new message"Son commit'in mesajını satır içinde değiştirir
git commit --amend --no-editHazırlanan dosyaları ekler, aynı mesajı korur

Yaygın durumlar

GoalCommand
Son mesajdaki bir yazım hatasını düzeltmekgit commit --amend -m "fixed message"
Son commit'e unutulan bir dosya eklemekgit add file ardından git commit --amend --no-edit
Zaten gönderilmiş bir commit'i amend etmek (dikkatli ol)amend yap, ardından git push --force-with-lease

git commit --amend SSS

Son commit mesajımı nasıl değiştiririm?
Satır içinde değiştirmek için git commit --amend -m "new message", ya da düzenleyicini açıp orada yeniden yazmak için git commit --amend çalıştır. Bu, son commit'i yeni mesajla yeniden yazar; zaten gönderdiğin bir commit'te, force push yapmaya hazır değilsen bunu yapma.
Son commit'e unutulan bir dosyayı nasıl eklerim?
Dosyayı git add <file> ile hazırla, ardından git commit --amend --no-edit çalıştır. --no-edit bayrağı mevcut commit mesajını korur ve yeni hazırlanan değişiklikleri yalnızca önceki commit'e katar.
git commit --amend yeni bir commit oluşturur mu?
Hayır; bir tane eklemek yerine son commit'i değiştirir. Sonuç tek bir commit gibi görünür, ancak teknik olarak eskisinin yerini alan, yeni bir hash'e sahip yeni bir commit'tir. İşte bu yüzden paylaşılan geçmişi amend etmek force push gerektirir.
Gönderilmiş bir commit'i amend etmek güvenli mi?
Yalnızca dikkatle. Amend commit'i yeniden yazar, bu yüzden gönderdikten sonra git push --force-with-lease gerekir ki bu da orijinali çekmiş olan herkesi olumsuz etkileyebilir. Paylaşılan bir branch'te amend yerine yeni bir commit ya da git revert tercih et.
Bunu çevrimiçi olarak deneyebilir miyim?
Evet. git commit --amend komutunu tarayıcında gerçek bir kabukta çalıştırmak için terminal playground'u aç; kurulacak hiçbir şey yok. Coddy'nin ücretsiz etkileşimli Git kursu da commit'leri adım adım düzeltmeyi kapsar.
Coddy programming languages illustration

Coddy ile Git öğren

BAŞLA