Ich habe dieses Problem gerade für mich selbst gelöst und werde Ihnen mitteilen, was ich dabei herausgefunden habe. Hier ist das Endergebnis:
> git summary --since=yesterday
total: 114 file changes, 13800 insertions(+) 638 deletions(-)
Der zugrunde liegende Befehl sieht wie folgt aus:
git log --numstat --format="" "$@" | awk '{files += 1}{ins += $1}{del += $2} END{print "total: "files" files, "ins" insertions(+) "del" deletions(-)"}'
Beachten Sie die $@
im Log-Befehl, um Ihre Argumente weiterzugeben, wie zum Beispiel --author="Brian"
o --since=yesterday
.
Das awk zu umgehen, um es in einen Git-Alias zu packen, war chaotisch, also habe ich es stattdessen in ein ausführbares Skript in meinem Pfad ( ~/bin/git-stat-sum
), dann verwendete ich das Skript in dem Alias in meinem .gitconfig
:
[alias]
summary = !git-stat-sum \"$@\"
Und es funktioniert wirklich gut. Eine letzte Sache, die zu beachten ist, ist, dass file changes
ist die Anzahl der Änderungen an Dateien, nicht die Anzahl der einzelnen geänderten Dateien. Das ist es, wonach ich gesucht habe, aber es ist vielleicht nicht das, was Sie erwarten.
Hier ein oder zwei weitere Beispiele
git summary --author=brian
git summary master..dev
# combine them as you like
git summary --author=brian master..dev
git summary --all
Sie sollten wirklich in der Lage sein, jede git log
Befehl mit git summary
.