Wie kann man zeigen, was ein Commit bewirkt hat?


265

Ein dummer Weg, den ich kenne, ist:

git diff commit-number1 commit-number2

einen besseren Weg?

Ich meine, ich möchte das Commit1 selbst kennen, ich möchte das Commit2 nicht als Parameter davor hinzufügen.


14
Während "git show <commit>" die richtige Lösung ist, können Sie "git diff <commit> ^!" Verwenden. um einen Unterschied zwischen Commit und seinem (ersten) übergeordneten Element zu erhalten. Siehe man git-rev-parse (1) für Details.
Jakub Narębski

Requisiten an @Jakub: git diff <commit>^!ist die Antwort, IMHO. Es ist das, was Sie in der Commit-Ansicht auf github.com sehen
Chris

Antworten:




51

TL; DR

git show <commit>


Show

Um zu zeigen, was ein Commit mit Statistiken gemacht hat:

git show <commit> --stat

Log

So zeigen Sie das Festschreibungsprotokoll mit Unterschieden an, die für jedes Festschreiben in einem Bereich eingeführt wurden:

git log -p <commit1> <commit2>

Was ist <commit>?

Jedes Commit hat eine eindeutige ID, auf die wir hier verweisen <commit> . Die eindeutige ID ist ein SHA-1-Hash - eine Prüfsumme des von Ihnen gespeicherten Inhalts sowie eine Kopfzeile. #TMI

Wenn Sie Ihre nicht kennen <commit>:

  1. git logum den Commit-Verlauf anzuzeigen

  2. Finden Sie das Commit, das Sie interessiert.


22

Ich habe herausgefunden, dass "git show --stat" das Beste von allem hier ist. Es gibt Ihnen eine kurze Zusammenfassung des Commits, welche Dateien Sie hinzugefügt und geändert haben, ohne Ihnen eine ganze Reihe von Dingen zu geben, insbesondere wenn Sie viele Dateien geändert haben .


6

Dies ist ein Weg, den ich kenne. Mit gitscheint es immer mehr als einen Weg zu geben, dies zu tun.

git log -p commit1 commit2
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.