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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow