수색…
통사론
- 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 Doe
와 Johnny 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