수색…


통사론

  • git log [<options>] [<revision range>] [[-] <path>]
  • git log --pretty = short | git shortlog [<options>]
  • git shortlog [<options>] [<revision range>] [[-] <path>]

매개 변수

매개 변수 세부
-n , --numbered 알파벳순 대신 작성자 별 커밋 수에 따라 출력 정렬
-s , --summary 커밋 수 요약 만 제공하십시오.
-e , --email 각 저자의 이메일 주소 표시
--format 형식 [= <형식>] 커밋 주체 대신 각 커밋을 설명하기 위해 몇 가지 다른 정보를 사용하십시오. <format>은 git log--format 옵션에 허용되는 모든 문자열 일 수 있습니다.
-w [<width> [, <indent1> [, <indent2>]]] width 각 행을 줄 바꿈하여 출력을 선으로 쌉니다. 각 항목의 첫 번째 줄은 indent1 개의 공백으로 들여 쓰기되며, 그 이후의 줄은 indent2 공백으로 들여 쓰기됩니다.
<수정 범위> 지정한 개정 범위에있는 커밋 만 표시합니다. 현재 커밋 때까지 전체 히스토리에 대한 기본값.
[ -- ] <경로> path 일치하는 파일이 어땠는지 설명하는 커밋 만 표시합니다. 경로는 "-"접두사가 있어야 옵션 또는 개정 범위와 구분할 수 있습니다.

개발자 당 커밋

Git shortlog 는 git log 출력을 요약하고 작성자별로 커밋을 그룹화하는 데 사용됩니다.

기본적으로 모든 커밋 메시지가 표시되지만 arguments --summary 또는 -s 는 메시지를 건너 뛰고 커밋 수와 함께 작성자 목록을 제공합니다.

--numbered 또는 -n 은 알파벳순 (작성자 오름차순)에서 내림차순 커밋 수로 순서를 변경합니다.

git shortlog -sn        #Names and Number of commits

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

또는

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

참고 : 동일한 사람의 커밋은 이름 및 / 또는 전자 메일 주소의 철자가 다른 곳에 함께 그룹화 할 수 없습니다. 예를 들어 John DoeJohnny Doe 가 목록에 별도로 나타납니다. 이 문제를 해결하려면 .mailmap 기능을 참조하십시오.

날짜 별 커밋

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

분기의 총 커밋 수

git log  --pretty=oneline |wc -l

각 분기 및 해당 마지막 개정 날짜 나열

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

개발자 당 코드 줄

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

모든 커밋을 예쁜 형식으로 나열합니다.

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

이것은 날짜, 사용자 및 커밋 메시지와 함께 모든 커밋 (한 줄에 1 개)에 대한 좋은 개요를 제공합니다.

--pretty 옵션에는 % 시작하는 많은 자리 표시자가 있습니다. 모든 옵션은 여기 에서 찾을 수 있습니다 .

컴퓨터에있는 모든 로컬 Git 저장소 찾기

모든 git 저장소 위치를 나열하려면 다음을 실행할 수 있습니다.

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

당신이 locate 있다고 가정하면 이것은 훨씬 빨라야합니다 :

locate .git |grep git$

gnu locate mlocate 거나 mlocate 했다면 git dirs 만 선택할 것입니다 :

locate -ber \\.git$

작성자 당 총 커밋 수 표시

각 개발자 나 기여자가 리포지토리 (repository)상에서 행한 커밋의 총수를 취득하려면, 다음의 git shortlog 를 사용하면 git shortlog .

git shortlog -s

각각의 저자 이름과 커밋 수를 제공합니다.

또한 모든 분기에서 결과를 계산하려면 --all 플래그를 명령에 추가하십시오.

git shortlog -s --all


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow