Änderungen (Einfügungen und Löschungen) in Git zusammenfassen [geschlossen]

47

Ich möchte sehen, wie meine Codebasis im Laufe der Zeit gewachsen ist. GitHub hat eine schöne +/-Anzeige entlang der Check-In-Liste, die einen Eindruck davon vermittelt. Gibt es etwas Ähnliches, das ich mit meinem von Google Code gehosteten Repo oder offline verwenden kann?

Kartoffelklatsche
quelle
1
Ich stimme dafür, diese Frage als "Off-Topic" zu schließen, da Tools verwendet werden, die speziell für die Softwareentwicklung entwickelt wurden. Diese Fragen gehören zu Stack Overflow, aber diese Frage ist zu alt, um migriert zu werden.
Thomas Owens
Empfohlene Lektüre: Wohin geht meine Git-Frage?
gnat

Antworten:

71

Es gibt ein paar native Optionen in Git, um Daten über die Änderungen abzurufen.

git log --stat zeigt den Betrag an, um den jede Datei geändert wurde.

git whatchanged gibt einige Details in die Dateien, die geändert wurden.

git diff --stat <sha1> <sha2> gibt die Dateien und die Anzahl der Änderungen zwischen zwei Festschreibungen an.

Es gibt viele andere Blogs, die verschiedene formatierte Protokolle enthalten. Eine Google-Suche kann Sie auf diese verweisen. Hier finden Sie auch git log --helpdie verschiedenen Optionen zum Formatieren des Verlaufs Ihres Repos. Git hat die Möglichkeit, Ihnen über die verschiedenen Befehlszeilenoptionen log(Filtern nach Autor, Datei usw.) eine ganze Menge Daten zu geben .

Schleis
quelle
6
Schön! Vielen Dank. Jetzt sehe ich auch --numstatein weniger zuckerhaltiges aber sauberes alternatives Format.
Potatoswatter
18
--shortstatdruckt nur die Summen aus.
Casey
1
Denken Sie daran, dass git diff --stat <sha1> <sha2>Einfügungen und Löschungen in nicht enthalten sind <sha1>, daher müssten Sie die shaof- <sha1><sha1>
Festschreibung
18

Wenn Sie die Commits kennen, die Sie vergleichen möchten, können Sie versuchen, den git diffBefehl mit dem --statArgument zu verwenden. Es gibt eine Ausgabe wie diese:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)
Mike Gossmann
quelle
2
Lieben Sie immer ein Beispiel, das in den meisten Fällen funktioniert (HEAD - 1), anstatt eine Abstraktion. Danke Mike!
SimplGy