2012-07-01 17 views
40

Ich mag keine Code-Änderungen untersuchen, nachdem ein git pull tun. Momentan zeigt es mir nur, welche Dateien sich ändern. Wie kann ich sehen, welcher Code sich geändert hat?Wie Codeänderungen nach git pull sehen?

+0

Siehe [dies] (http://stackoverflow.com/questions/1362952/detail-change-after-git-pull). – unrealsoul007

Antwort

40

Zeigt die Namen der Dateien an, die sich für die letzten beiden Commits geändert haben.

git log -p -2 

zeigen Ihnen die Änderungen selbst.

Bevor Sie ziehen,

git fetch 
git log --name-status origin/master.. 

zeigen Ihnen, was Sie verpflichtet sind abzurufen, zusammen mit den Namen der Dateien.

13

Da git pull ist nur eine Abkürzung für git fetch und git merge, können Sie git fetch ausführen, um die Zweige vom Ursprung zu holen und dann zeigen die Unterschiede vor der Verschmelzung. Wie folgt aus:

git fetch      # Load changes from remote server 
git diff master origin/master # Show differences 
git merge origin/master  # Merge remote changes with local changes 

Wenn Sie auf einem anderen Zweig laufen als Master, sollten Sie natürlich die Zweignamen ändern oben in den Befehlen.

+0

'' 'git diff - Nur-Name-Masterursprung/Master [Pfad]' '' – jiacheo

3

können Sie überprüfen, was sich ändern, während Push bekommen und diese ziehen ...

git log --stat 
26

Bevor ziehen

Sie Änderungen überprüfen können als @iblue mit einem fetch sagt und diff vor der Verschmelzung:

$ git fetch 
$ git diff master...origin/master 

Beachten Sie die dreifache Zeit, die diff gegen die gemeinsamen Eltern bedeutet und Ursprung/Master (commits markiert x unten):

SP---o---o [master] 
    \ 
    x---x [origin/master] 

Kurz nach einem Pull

Die erste Zeile in der Ausgabe eines Pull wie folgt aussieht:

$ git pull 
Updating 37b431a..b2615b4 
... 

Sie können dann einfach tun:

$ git diff 37b431a..b2615b4 

oder was auch immer anderer Befehl:

$ git log --name-status 37b431a..b2615b4 

später

Wenn es eine Weile gewesen, da Sie gezogen, und Sie wissen möchten, welche Änderungen wurden durch den letzten Zug gebracht, können Sie es mit nachschlagen:

$ git reflog | grep -A1 pull | head -2 

die

b2615b4 [email protected]{0}: pull : Fast-forward 
37b431a [email protected]{1}: checkout: moving from v6.1 to master 
kann

Sie dann mit diesen beiden Hashes das gleiche tun: nach dem Zug durch den Hash vor dem Pull gefolgt wird der Hash zeigen

git diff 37b431a..b2615b4 
+2

Dies ist die einzige Antwort, mit der Sie überprüfen können, welche Dateien sich beim letzten Pull geändert haben, wenn Sie sich nicht erinnern, wie viele Commits es waren zu dieser Zeit gezogen. – kremuwa