Sök…


Syntax

  • git-logg [<options>] [<revisionsområde>] [[-] <path>]
  • git log - pretty = kort | git shortlog [<options>]
  • git shortlog [<options>] [<revisionsintervall>] [[-] <path>]

parametrar

Parameter detaljer
-n , - --numbered Sortera utdata enligt antalet åtaganden per författare istället för alfabetisk ordning
-s , --summary Ge bara en sammanfattning av åtagandena
-e , - --email Visa e-postadressen för varje författare
--format [= <format>] Istället för åtagandeämnet, använd annan information för att beskriva varje åtagande. <format> kan vara vilken sträng som helst som accepteras av --format alternativet i git log .
-w [<bredd> [, <indent1> [, <indent2>]]] Linewrap utmatningen genom att linda in varje rad i width . Den första raden i varje post indent1 av indent1 antal utrymmen, och efterföljande rader indent2 av indent2 utrymmen.
<revisionsintervall> Visa endast åtaganden i det angivna revisionsområdet. Som standard är hela historiken tills den aktuella åtaganden.
[ -- ] <sökväg> Visa endast åtaganden som förklarar hur filens matchande path blev. Sökvägar kan behöva förinställas med "-" för att skilja dem från alternativ eller revisionsområdet.

Åtaganden per utvecklare

Git- shortlog används för att sammanfatta git-logg-utgångarna och gruppera åtaganden efter författare.

Som standard visas --summary men argument - --summary eller -s hoppar över meddelandena och ger en lista med författare med deras totala antal åtaganden.

--numbered eller -n ändrar ordningen från alfabetisk (av författare stigande) till antal kommit som faller.

git shortlog -sn        #Names and Number of commits

git shortlog -sne       #Names along with their email ids and the Number of commits

eller

git log --pretty=format:%ae \
| gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'

Obs: Åtaganden från samma person kanske inte grupperas där deras namn och / eller e-postadress har stavats annorlunda. Till exempel John Doe och Johnny Doe visas separat i listan. För att lösa detta, se .mailmap funktionen.

Åtaganden per datum

git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c

Totalt antal åtaganden i en filial

git log  --pretty=oneline |wc -l

Lista varje gren och datum för den senaste revisionen

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

Kodslinjer per utvecklare

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

Lista alla åtaganden i vackert format

git log --pretty=format:"%Cgreen%ci %Cblue%cn  %Cgreen%cr%Creset %s"

Detta ger en fin översikt över alla åtaganden (1 per rad) med datum, användar- och åtkomstmeddelande.

--pretty har många platshållare, var och en börjar med % . Alla alternativ finns här

Hitta alla lokala gitförvar på datorn

För att lista alla platser för gitförvar på din kan du köra följande

find $HOME -type d -name ".git"

Förutsatt att du har locate borde detta vara mycket snabbare:

locate .git |grep git$

Om du har gnu locate eller mlocate , kommer detta bara att välja git dirs:

locate -ber \\.git$

Visa det totala antalet åtaganden per författare

För att få det totala antalet åtaganden som varje utvecklare eller bidragsgivare har gjort på ett arkiv kan du helt enkelt använda git shortlog :

git shortlog -s

som ger författarens namn och antal åtaganden av var och en.

Om du vill att resultaten ska beräknas på alla grenar lägger du till - --all flaggar i kommandot:

git shortlog -s --all


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow