Git
Statystyka Git
Szukaj…
Składnia
- git log [<opcje>] [<zakres wersji>] [[-] <ścieżka>]
- git log --pretty = short | git shortlog [<opcje>]
- git shortlog [<opcje>] [<zakres wersji>] [[-] <ścieżka>]
Parametry
Parametr | Detale |
---|---|
-n , --numbered | Sortuj dane wyjściowe według liczby zatwierdzeń na autora zamiast kolejności alfabetycznej |
-s , - --summary | Podaj tylko podsumowanie liczby zatwierdzeń |
-e , --email | Pokaż adres e-mail każdego autora |
--format [= <format>] | Zamiast tematu zatwierdzenia użyj innych informacji do opisania każdego zatwierdzenia. <format> może być dowolnym łańcuchem akceptowanym przez opcję --format w git log . |
-w [<szerokość> [, <indent1> [, <indent2>]]] | Owiń linię wyjściową, zawijając każdą linię na width . Pierwszy wiersz każdego wpisu jest wcięty liczbą indent1 , a kolejne wiersze wcięciem indent2 . |
<zakres wersji> | Pokaż tylko zatwierdzenia w określonym zakresie wersji. Domyślnie w całej historii, aż do bieżącego zatwierdzenia. |
[ -- ] <ścieżka> | Pokaż tylko zatwierdzenia, które wyjaśniają, jak powstała path do plików. Ścieżki mogą wymagać prefiksu „-”, aby oddzielić je od opcji lub zakresu wersji. |
Zatwierdza na programistę
Git shortlog
służy do podsumowania wyników dziennika git i grupowania zatwierdzeń według autora.
Domyślnie wyświetlane są wszystkie komunikaty zatwierdzenia, ale argument - --summary
lub -s
pomija wiadomości i podaje listę autorów z ich całkowitą liczbą zatwierdzeń.
--numbered
lub -n
zmienia kolejność z alfabetycznej (według autora rosnąco) na liczbę zatwierdzeń malejących.
git shortlog -sn #Names and Number of commits
git shortlog -sne #Names along with their email ids and the Number of commits
lub
git log --pretty=format:%ae \
| gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'
Uwaga: zatwierdzeń tej samej osoby nie można grupować, jeśli ich nazwisko i / lub adres e-mail zostały zapisane inaczej. Na przykład John Doe
i Johnny Doe
pojawią się osobno na liście. Aby rozwiązać ten problem, zapoznaj się z funkcją .mailmap
.
Zatwierdza według daty
git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c
Całkowita liczba zatwierdzeń w oddziale
git log --pretty=oneline |wc -l
Lista każdej gałęzi i data ostatniej zmiany
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
Linie kodu na programistę
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
Wyświetl wszystkie zatwierdzenia w ładnym formacie
git log --pretty=format:"%Cgreen%ci %Cblue%cn %Cgreen%cr%Creset %s"
To da ładny przegląd wszystkich zatwierdzeń (1 na linię) z datą, użytkownikiem i komunikatem zatwierdzenia.
Opcja --pretty
ma wiele symboli zastępczych, z których każdy zaczyna się od %
. Wszystkie opcje można znaleźć tutaj
Znajdź wszystkie lokalne repozytoria Git na komputerze
Aby wyświetlić listę wszystkich lokalizacji repozytorium git, możesz uruchomić następujące czynności
find $HOME -type d -name ".git"
Zakładając, że masz locate
, powinno to być znacznie szybsze:
locate .git |grep git$
Jeśli masz gnu locate
mlocate
lub mlocate
, spowoduje to wybranie tylko katalogów git:
locate -ber \\.git$
Pokaż całkowitą liczbę zatwierdzeń na autora
Aby uzyskać całkowitą liczbę zatwierdzeń dokonanych przez każdego programistę lub współpracownika w repozytorium, możesz po prostu użyć git shortlog
:
git shortlog -s
który podaje nazwy autorów i liczbę zatwierdzeń przez każdego z nich.
Dodatkowo, jeśli chcesz, aby wyniki były obliczane dla wszystkich gałęzi, dodaj flagę --all
do polecenia:
git shortlog -s --all