Wie man Git diff den ersten Beitrag?
Erstellte ich eine repo erstellt eine Datei drin, mit Inhalt in die Datei ein, und verpflichtet die Datei. Nun, würde ich mag, um zu sehen, eine diff von Commits, die idealerweise zeigen Sie die Datei, die Hinzugefügt wurde, und die Linien wurden Hinzugefügt, um es.
Jedoch git diff HEAD^ HEAD
zurück fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
, wahrscheinlich, weil diese die erste war, die sich verpflichten, die repo.
Wie können diese gelöst werden? Ist es noch ein Weg, um ein diff der Dateien, die Hinzugefügt wurden, in den ersten commit?
git show
arbeiten können. Aber das erste diff ist immer von null auf den gesamten Inhalt.- Das funktioniert, aber dazu gehört auch, dass die commit-Zusammenfassung. Möglich, um es zu drucken, nur das diff ohne die commit-Zusammenfassung, Wenn ich
git show <file>
? git show <commit> --pretty=%% | sed 1,2d
.%%
könnte eine beliebige Platzhalter, die Ausgänge nur eine Zeile, z.B.%h
,%t
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tun:
4b825dc642cb6eb9a060e54bf8d69288fbee4904
ist die id der "leeren Baum" in Git und es ist stets in jedem repository.$(printf '' | git hash-object -t tree --stdin)
für bessere Lesbarkeit.git diff --empty-tree head
. Ähnlich wie wir haben--root
für interactive rebase.git diff-tree
hat jetzt eine--root
option, die genau das tut, was Sie gefragt wurden.Vielleicht versuchen mit: