"git diff --stat" und "git log --stat" zeigen die Ausgabe wie folgt:
$ git diff -C --stat HEAD c9af3e6136e8aec1f79368c2a6164e56bf7a7e07
app/controllers/application_controller.rb | 34 +++-------------------------
1 files changed, 4 insertions(+), 30 deletions(-)
Aber was wirklich bei diesem Commit passiert ist, war, dass 4 Zeilen geändert und 26 Zeilen gelöscht wurden, was sich vom Hinzufügen von 4 Zeilen und Löschen von 30 unterscheidet.
Gibt es eine Möglichkeit, die Delta-LOCs zu erhalten (in diesem Fall 26)? Es ist mir nicht wirklich wichtig, zwischen hinzugefügten oder entfernten Zeilen zu unterscheiden.
--word-diff
. Das könnte nützlicher sein.git diff --numstat
ist nach Dateien unterteilt. Um die Summe zu sehen, die für das Diff hinzugefügt / entfernt wurde, können Sie es an awkgit diff --numstat | awk '{ added += $1; removed += $2 } END { print "+" added " -" removed }'
git diff --shortstat
. Nach meiner Erfahrung entspricht dies der Akkumulation der Ausgabe vongit diff --numstat
.--cached
Wenn Sie wissen möchten, welche Zeilen durch ein Commit mit ID hinzugefügt / geändert / gelöscht wurden
commit-id
, können Sie diese verwendenoder
Wenn Sie wissen möchten, welche Zeilen durch ein Bereichs-Commit hinzugefügt / geändert / gelöscht wurden, können Sie diese verwenden
Wenn Sie wissen möchten, welche Zeilen bei jedem Commit hinzugefügt / geändert / gelöscht wurden, können Sie diese verwenden
quelle
Wenn alle Ihre Dateien für das Festschreiben bereitgestellt werden, sehen Sie
--numstat
Folgendes wie folgt:quelle
git verwendet als diff-Format "unified" diff, das nur Zeilen hinzugefügt und gelöscht hat. Sie müssen etwas Externes tun, um einen Unterschied zu erhalten, der das Hinzufügen, Löschen und Ändern von Informationen anzeigt.
https://wiki.postgresql.org/wiki/Working_with_Git#Context_diffs_with_Git enthält Links zu einem Skript, mit dem reguläres altes "diff" ausgeführt werden kann. Daraus können Sie eine "Kontext" -Diff- Ausgabe generieren . Context Diff zeigt hinzugefügte, entfernte und geänderte Zeilen an, mit denen Sie die gewünschten Daten abrufen können.
quelle
Sie können verwenden
diffstat
, um die Anzahl der geänderten Zeilen anzuzeigen. Beispielsweise:Die
-C
Option besteht darin, eine farbige Ausgabe zu erhalten. Die-m
Option dient zum Anzeigen der Anzahl der geänderten Zeilen. Beispielausgabe:Die Anzahl der geänderten Zeilen ist ungefähr wie folgt
man diffstat
:Ein wesentlicher Unterschied zwischen
git diff --stat
unddiffstat
:diffstat
zeigt keine Dateiverschiebungen / -umbenennungen an (zapp/{a.rb => b.rb}
. B. ).quelle