Değişen gıt bas sonra commit mesajı (kimse uzaktan çektiği göz önüne alındığında)
Git ve bas tamamlama sonraki yaptık. Mesaj tamamlama değiştirmek istiyorum. Eğer doğru anladıysam, bu kimse böyle bir değişiklik yapmadan önce uzak deposundan çekilmiş olabileceği için tavsiye edilmez. Eğer kimse çekti biliyorum yoksa?
Bunu yapmanın bir yolu var mı?
CEVAP
Eğer en son commit ise, sadece bunu yapabilirsiniz:
git commit --amend
Bu son editöre teslim mesajı ve mesajı düzenlemenizi sağlar getirir. (Eğer eski mesajı silip yenisini kullanmak istiyorsanız -m
kullanabilirsiniz.)
Ve sonra bastığınızda, bunu yapmak için:
git push --force <repository> <branch>
push --force
kullanırken dikkatli olun. Eğer başka birisi aynı şube için değişiklik itti, ve bu değişiklikler yok olacaktır.
Zaten çekti herkes şimdi bir hata iletisi alırsınız ve kendilerini herhangi bir değişiklik yapmadan değil mi varsayarak) böyle bir şey yaparak güncellemek için ihtiyacınız olacak:
git fetch origin
git reset --hard origin/master # Loses local commits
reset --hard
kullanırken dikkatli olun. Eğer şube değişiklikler varsa, bu değişiklikler yok olacaktır.
Tarih değiştirme hakkında bir not
Yok Veri çok eski mesaj kaydetme sadece, ama --force
bunu bilmiyor, ve mutlu bir şekilde diğer verileri de silecektir. Yani "veri yok etmek istiyorum, ve veri imha ediliyor ne emin." bildiğim gibi --force
düşün Ama yok Veri kararlı olduğunda, genellikle eski reflog—veriler aslında gelen iptalleri kurtarabilirsinizartıkimha (yetim rağmen düzenli olarak silinir taahhüt) yerine.
Eğer veri yok sanıyorsun eğer doğru değilse, o zaman uzakta--force
... bad things might happenuzak dur.
Kimse uzaktan JMX JConsole çalışma var...
Git submodule için değişen uzaktan dep...
Neden ölçülebilirlik göz önüne alındığ...
“etiketi henüz gıt etiketi yeniden son...
Nasıl bir geri al `git commit` yerel v...