A yaptıktan sonra herhangi bir kod değişikliğini incelemek istiyorum git pull. Şu anda sadece hangi dosyaların değiştiğini gösteriyor. Hangi kodun değiştiğini nasıl görebilirim?
Yanıtlar:
git log --name-status -2
Size son iki kayıt için değişen dosyaların adlarını gösterecektir.
git log -p -2
Size değişiklikleri kendileri gösterecek.
Çekmeden önce
git fetch
git log --name-status origin/master..
Dosyaların adlarıyla birlikte almak üzere olduğunuz taahhütleri size gösterecektir.
@İblue'nun dediği gibi fetchve diffbirleştirmeden önce değişiklikleri inceleyebilirsiniz :
$ git fetch
$ git diff master...origin/master
Üçlü döneme dikkat edin; bu, paylaşılan ana ve menşe / ana makineye göre farklılık anlamına gelir ( xaşağıda işaretlenen taahhütler ):
SP---o---o [master]
\
x---x [origin/master]
Bir çekmenin çıktısındaki ilk satır şuna benzer:
$ git pull
Updating 37b431a..b2615b4
...
Daha sonra şunları yapabilirsiniz:
$ git diff 37b431a..b2615b4
Veya başka bir komut:
$ git log --name-status 37b431a..b2615b4
Çekeliğin üstünden biraz zaman geçtiyse ve son çekimde hangi değişikliklerin getirildiğini bilmek istiyorsanız, şuna bakabilirsiniz:
$ git reflog | grep -A1 pull | head -2
bu, çekmeden sonra hash'i ve çekmeden önce hash'i gösterecektir:
b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master
Daha sonra aynı şeyi bu iki hash ile yapabilirsiniz:
git diff 37b431a..b2615b4
Çünkü git pullsadece bir kısayoldur git fetchve dalları başlangıçtan almak için git mergekoşabilir git fetchve birleştirmeden önce farklılıkları gösterebilirsiniz. Bunun gibi:
git fetch # Load changes from remote server
git diff master origin/master # Show differences
git merge origin/master # Merge remote changes with local changes
Master'dan farklı bir dalda çalıştırırsanız, elbette yukarıdaki komutlarda dal adlarını değiştirmelisiniz.
Alınan içerikleri hemen önceki işlemin kaynakları ile karşılaştırabilirsiniz:
git diff branch_name@{1}
Örneğin:
git diff master@{1}
Kaynakların n taahhütleri ile karşılaştırmak için,
git diff branch_name@{n}
@{n}Sözdizimi aslında anlamı nthönceki pozisyonunu dalı / başın. Eğer bir çekme yaptığını son kez bu yana Örneğin, 10 kaydedilmesini olmuştur master@{1}öncesinde bakın istiyorsunuz pozisyon arasında master10, kaydedilmesini önce. Bu nedenle @{n}kullanımı, çekmeden sonra değişiklikleri kontrol etmek için kullanışlıdır.
Bununla itip çekerken neyin değiştiğini kontrol edebilirsiniz ...
git log --stat