Eğer eminseniz kimse git depo değişiklik yapılmış ve en son sürümü üzerinde çalıştıklarını, git pullyüreğinizde bir çözüm olarak mantıklı değil ...
O zaman muhtemelen bu oldu, kullandın git commit --amend
Tamamen yeni bir anlık görüntü oluşturmak yerine aşamalı değişiklikleri önceki işlemle birleştirmenizi sağlar. Anlık görüntüsünü değiştirmeden önceki tamamlama mesajını düzenlemek için de kullanılabilir.
ATLASSIAN eğitimi: yeniden yazma geçmişi
Ancak, taahhüdü GitHub'a daha önce aktardıysanız gerçekleştirmeniz önerilmez.git commit --amend , çünkü "değişiklik sadece en son taahhüdü değiştirmekle kalmaz, tamamen değiştirir. Git için yepyeni bir taahhüt gibi görünecektir" yani GitHub'ınızdaki diğer geliştirici için, geçmiş A-> B-> C gibi görünür, ancak size göre A-> B-> D gibi görünür, eğer GitHub size izin verirsepush , herkesin geçmişini manuel olarak düzeltmesi gerekecek
Hata mesajını almanızın nedeni budur ! [rejected] master -> master (non-fast-forward), eğer son değişikliğinizi kimsenin çekmediğini biliyorsanız, bunu yapabilirsiniz git push --force, bu genel repodaki git geçmişini değiştirecektir . Aksi takdirde ... performans gösterebilirsin git pull, ama bunun senin geçmediğin sonuçla aynı olacağına inanıyorumgit commit --amend , yeni bir taahhüt oluşturacak (yani: git pull'ten sonra git geçmişi: A-> B-> C-> D )
daha fazla ayrıntı için: Son taahhüdünüzü değiştirme