Yerel depomun güncel olup olmadığını bilmek istiyorum (ve değilse, ideal olarak değişiklikleri görmek isterim).
Nasıl yapmadan bu kontrol edebilir git fetch
ya git pull
?
Yerel depomun güncel olup olmadığını bilmek istiyorum (ve değilse, ideal olarak değişiklikleri görmek isterim).
Nasıl yapmadan bu kontrol edebilir git fetch
ya git pull
?
Yanıtlar:
Deneyin git fetch --dry-run
Kılavuz ( git help fetch
) diyor ki:
--dry-run
Show what would be done, without making any changes.
git fetch --dry-run
hiçbir şey görünmüyor?
--all
misin?
git pull
kabaca eşittir a git fetch && git merge
. Herhangi bir noktada getirmeyi olmadan çalıştırdıysanız, --dry-run
zaten yerel olarak bir şeyler getirmişsinizdir .
git remote show origin
Sonuç:
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (local out of date) <-------
İlk kullanım git remote update
, uzaktan kumandalarınızı güncel hale getirmek için. Ardından, aşağıdakiler gibi birkaç şeyden birini yapabilirsiniz:
git status -uno
takip ettiğiniz şubenin önde mi, geride mi yoksa sapmış mı olduğunu size söyleyecektir. Hiçbir şey söylemiyorsa, yerel ve uzak aynıdır. Örnek sonuç:DEV şubesinde
Şubeniz 7 kaydetme ile "kaynak / DEV" gerisinde ve hızlı ileri sarılabilir.
(yerel şubenizi güncellemek için "git pull" kullanın)
git show-branch *master
isimleri 'ana' ile biten tüm branşlardaki taahhütleri gösterecektir (örneğin, ana ve başlangıç / ana).Eğer kullanırsanız -v
git uzaktan güncelleme ile ( git remote -v update
eğer gerçekten başka komutları gerekmez) Eğer dalları güncellenmiş var olduğunu görebilirsiniz.
git remote update ; git status -uno
çözüldü. git fetch --dry-run
yerelin uzakta olduğu durumlarda bile çıktı vermedi.
git status -uno
yerel şubenizin menşe şubenizle güncel olup olmadığını kontrol etmek için kullanabilirsiniz .
git remote update ; git status -uno
hile yaptı! git fetch --dry-run
Ben bunu beklenen (ve ne zaman hiçbir çıkış verdi git pull
şeyler çekeceği).
Pek değil - ama git fetch
yerel şubelerinizden hiçbirini değiştirmeyeceği için ne kadar acı çekeceğini anlamıyorum.
Diğer bir alternatif, şubeyi deponuzun yanı sıra tüm uzaktan kumandalarda git show-branch remote/branch
görmek git show-branch *branch
için görebileceğiniz bir karşılaştırma olarak kullanmak için kullanarak uzak şubenin durumunu görüntülemek
! daha fazla https://stackoverflow.com/a/3278427/2711378 için bu yanıta bakın
İki komut vermeniz gerekecek:
git fetch
Yerel deponuzu uzak sunucunuzdaki dosyalarla karşılaştırmadan önce çalıştırmanız gerekir .
Bu komut yalnızca uzaktan takip şubelerinizi günceller ve siz git merge
veya aranana kadar çalışma ağacınızı etkilemez git pull
.
Yerel şubeniz ile uzaktan izleme şubeniz arasındaki farkı görmek için , burada açıklandığı gibi git diff veya git cherry kullanabilirsiniz .
git fetch
Veya kullanmadan bu imkansızdır git pull
. "Güncel" nin ne anlama geldiğini görmek için uzak depoya gitmeden deponun "güncel" olup olmadığını nasıl bilebilirsiniz?
git pull
OP'nin sorusunda açıkça yasakladığı en yüksek oylanan ve kabul edilen cevabın kullanıldığına dikkat edin.
git status -uno
bu çalışır ve git show-branch *master
tüm ana dalların durumunu görmek için de kullanılabilir ! Hala imkansız olduğunu mu söylüyorsun? Uzaktan kumandaya erişiminiz olduğu sürece herhangi bir şubenin durumunu görebilirsiniz!
git status
size yerel hakemlerimizle durumunu anlatır ancak, bu mu değil yerel hakemler uzak hakemlerimizle yukarı-güncel olup olmadığını söyleyecektir. Tekrar: Uzak reponun durumunu öğrenmeden uzak reponun durumunun ne olduğunu bilmek mantıksal olarak imkansızdır. Dönem. Bu sadece uzay-zamanın temel yasalarıdır.