Arasındaki farkı anlamaya çalışıyorum
git push --force
ve
git push --force-with-lease
Benim tahminim, uzaktan kumandanın sadece yerel şubenin sahip olmadığı taahhütleri yoksa uzaktan kumandaya itmesidir ?
--force-with-lease, modern CPU'lardaki karşılaştırma ve takas yönergelerine benzer: takasın gerçekleşmesini isteyen kişi beklenen değeri ve yeni değeri sağlar. Takas yapan sistem, beklenen değeri gerçek akım değeriyle karşılaştırır ve takas işlemi, yalnızca ikisi eşitse yapar. İle git push, beklenen değer uzaktan izleme adında ne varsa, örneğin yeni istenen değerle birlikte git push --force-with-lease origin Xkendi origin/Xdeğerinizi gönderir ; origin's Git size değişimi yapıp yapmadığını söyler.
originyaptıysa, işleminiz tamamlanmıştır. Değilse git fetch origin, yeni geçerli değeri almak için koşabilir , gerekirse değişikliklerinizi yeniden çalışabilir ve tekrar denemek için başka bir kiralama ile karşılaştır ve takas uygulayabilirsiniz.
git help pushamacını açıklayan kullanım örnekleri vardır (temelde birisinin yeni itmiş olduğu bir değişikliği çöp kutusuna atmanızı önlemek için). Benim için biraz belirsiz olan, uzaktan izleme şubesinin nasıl çalıştığı. Ama muhtemelen tipik olarak, en son ne zaman yeni bir taahhütte bulunduğunuzdafetchveyapullhiç yeni taahhütte bulunmadığınızda tam olarak nasıl göründüğüne bakmanız gerekecektir .