Antworten:
git log --name-status -2
Zeigt Ihnen die Namen der Dateien an, die sich in den letzten beiden Commits geändert haben.
git log -p -2
Zeigt Ihnen die Änderungen selbst.
Bevor Sie ziehen,
git fetch
git log --name-status origin/master..
Zeigt Ihnen zusammen mit den Namen der Dateien, welche Commits Sie abrufen möchten.
Sie können Änderungen überprüfen, wie @iblue mit a fetchund diffvor dem Zusammenführen sagt :
$ git fetch
$ git diff master...origin/master
Beachten Sie die dreifache Periode, was bedeutet, dass Sie sich von dem gemeinsam genutzten Elternteil und dem Ursprung / Master unterscheiden (Commits xunten markiert ):
SP---o---o [master]
\
x---x [origin/master]
Die allererste Zeile in der Ausgabe eines Pulls sieht folgendermaßen aus:
$ git pull
Updating 37b431a..b2615b4
...
Sie können dann einfach tun:
$ git diff 37b431a..b2615b4
Oder was auch immer ein anderer Befehl:
$ git log --name-status 37b431a..b2615b4
Wenn es eine Weile her ist, seit Sie gezogen haben, und Sie wissen möchten, welche Änderungen durch den letzten Zug vorgenommen wurden, können Sie nachschlagen mit:
$ git reflog | grep -A1 pull | head -2
Dies zeigt den Hash nach dem Ziehen, gefolgt vom Hash vor dem Ziehen:
b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master
Mit diesen beiden Hashes können Sie dann dasselbe tun:
git diff 37b431a..b2615b4
Da dies git pullnur eine Verknüpfung für git fetchund ist git merge, können Sie git fetchdie Zweige vom Ursprung abrufen und dann die Unterschiede anzeigen, bevor Sie sie zusammenführen. So was:
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 in einem anderen Zweig als Master ausgeführt werden , sollten Sie natürlich die Zweignamen in den obigen Befehlen ändern.
Sie können den abgerufenen Inhalt mit den Quellen des unmittelbar vorherigen Commits vergleichen.
git diff branch_name@{1}
z.B:
git diff master@{1}
Zum Vergleich mit den Quellen n Commits dahinter,
git diff branch_name@{n}
@{n}Syntax bedeutet tatsächlich die nthvorherige Position des Zweigs / Kopfes. Wenn beispielsweise seit dem letzten Ziehen 10 Commits aufgetreten sind, wird master@{1}auf die vorherige Position von verwiesen, dh master10 Commits zuvor. Aus diesem Grund ist die Verwendung @{n}nützlich, um Änderungen nach einem Ziehen zu überprüfen.
Sie können überprüfen, was sich beim Drücken und Ziehen ändert ...
git log --stat