Git
Git-Statistiken
Suche…
Syntax
- Git Log [<Optionen>] [<Revisionsbereich>] [[-] <Pfad>]
- git log --pretty = kurz | git shortlog [<options>]
- git shortlog [<Optionen>] [<Revisionsbereich>] [[-] <Pfad>]
Parameter
Parameter | Einzelheiten |
---|---|
-n , --numbered | Sortieren Sie die Ausgabe nach der Anzahl der Commits pro Autor anstelle der alphabetischen Reihenfolge |
-s , --summary | Geben Sie nur eine Commit-Count-Zusammenfassung an |
-e , --email | Zeigt die E-Mail-Adresse jedes Autors an |
--format [= <format>] | Verwenden Sie anstelle des Festschreibungsbetreffs andere Informationen, um jede Festschreibung zu beschreiben. <format> kann eine beliebige Zeichenfolge sein, die von der Option --format von git log akzeptiert wird. |
-w [<width> [, <indent1> [, <indent2>]]] | Zeilenumbruch der Ausgabe, indem jede Zeile in width umbrochen wird. Die erste Zeile jedes Eintrags wird durch indent1 Anzahl der Leerzeichen von indent1 eingerückt, und die nachfolgenden Zeilen werden durch Leerzeichen von indent2 eingerückt. |
<Revisionsbereich> | Nur Commits im angegebenen Revisionsbereich anzeigen. Der gesamte Verlauf wird bis zum aktuellen Commit voreingestellt. |
[ -- ] <Pfad> | Nur Commits anzeigen, die erklären, wie der path der Dateien gefunden wurde. Für Pfade muss möglicherweise ein "-" vorangestellt werden, um sie von Optionen oder dem Revisionsbereich zu trennen. |
Commits pro Entwickler
Git- shortlog
wird verwendet, um die Ausgaben des Git-Protokolls zusammenzufassen und die Commits nach Autor zu gruppieren.
Standardmäßig werden alle --summary
angezeigt, mit dem Argument --summary
oder -s
die Nachrichten jedoch --summary
und eine Liste der Autoren mit ihrer Gesamtzahl der Commits --summary
.
--numbered
oder -n
ändert die Reihenfolge von alphabetisch (aufsteigend nach Autor) in absteigende Anzahl von Commits.
git shortlog -sn #Names and Number of commits
git shortlog -sne #Names along with their email ids and the Number of commits
oder
git log --pretty=format:%ae \
| gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'
Hinweis: Zusagen derselben Person können nicht in Gruppen zusammengefasst werden, deren Name und / oder E-Mail-Adresse anders geschrieben wurde. Zum Beispiel werden John Doe
und Johnny Doe
in der Liste separat angezeigt. Um dieses .mailmap
zu beheben, beziehen Sie sich auf die .mailmap
Funktion.
Festschreiben pro Datum
git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c
Gesamtanzahl der Commits in einer Zweigstelle
git log --pretty=oneline |wc -l
Auflistung jedes Zweigs und des Datums der letzten Revision
for k in `git branch -a | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort
Codezeilen pro Entwickler
git ls-tree -r HEAD | sed -Ee 's/^.{53}//' | \
while read filename; do file "$filename"; done | \
grep -E ': .*text' | sed -E -e 's/: .*//' | \
while read filename; do git blame --line-porcelain "$filename"; done | \
sed -n 's/^author //p' | \
sort | uniq -c | sort -rn
Alle Commits im hübschen Format auflisten
git log --pretty=format:"%Cgreen%ci %Cblue%cn %Cgreen%cr%Creset %s"
Dies gibt einen schönen Überblick über alle Commits (1 pro Zeile) mit Datum, Benutzer und Commit-Nachricht.
Die Option --pretty
hat viele Platzhalter, die jeweils mit %
. Alle Optionen finden Sie hier
Alle lokalen Git-Repositories auf dem Computer suchen
Um alle Standorte des git-Repositorys auf Ihrem Computer aufzulisten, können Sie Folgendes ausführen
find $HOME -type d -name ".git"
Vorausgesetzt, Sie haben locate
, sollte dies viel schneller sein:
locate .git |grep git$
Wenn Sie mlocate
gnu locate
oder mlocate
, werden nur die git-Verzeichnisse ausgewählt:
locate -ber \\.git$
Zeigt die Gesamtzahl der Commits pro Autor an
Um die Gesamtzahl der Commits zu erhalten, die jeder Entwickler oder Mitwirkende für ein Repository abgegeben hat, können Sie einfach das git shortlog
:
git shortlog -s
welche die Namen und die Anzahl der Commits des Autors enthält.
Wenn Sie die Ergebnisse für alle Zweige berechnen möchten, fügen --all
dem Befehl --all
hinzu:
git shortlog -s --all