etc./StackOverFlow

한 사용자의 커밋에 대한 git 로그를 보려면 어떻게 해야 합니까?

청렴결백한 만능 재주꾼 2022. 7. 6. 02:43
반응형

질문자 :markdorison


git log 사용할 때 해당 사용자의 커밋만 볼 수 있도록 사용자별로 필터링하려면 어떻게 해야 합니까?



이것은 기록을 보는 가장 일반적인 두 가지 방법인 git loggitk 모두에서 작동합니다.
전체 이름을 사용할 필요는 없습니다.

 git log --author="Jon"

"Jonathan Smith"가 만든 커밋과 일치합니다.

 git log --author=Jon

그리고

 git log --author=Smith

또한 작동합니다. 공백이 필요하지 않은 경우 따옴표는 선택 사항입니다.

--all 있는 현재 커밋의 조상뿐만 아니라 모든 분기를 검색하려면 --all을 추가합니다.

정규식은 이 필터의 기본 메커니즘이므로 여러 작성자를 쉽게 일치시킬 수도 있습니다. 따라서 Jonathan 또는 Adam의 커밋을 나열하려면 다음을 수행할 수 있습니다.

 git log --author="\(Adam\)\|\(Jon\)"

이 질문에 언급된 대로 정규 표현식을 사용하는 특정 작성자 또는 작성자 집합의 커밋을 제외 --perl-regexp 스위치와 함께 부정 미리보기 를 사용할 수 있습니다.

 git log --author='^(?!Adam|Jon).*$' --perl-regexp

bash 및 파이핑을 사용하여 Adam이 작성한 커밋을 제외할 수 있습니다.

 git log --format='%H %an' | grep -v Adam | cut -d ' ' -f1 | xargs -n1 git log -1

Adam이 커밋한(그러나 반드시 작성할 필요는 없음) 커밋을 제외하려면 %an%cn 바꾸십시오. 이에 대한 자세한 내용은 내 블로그 게시물에 있습니다. http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/


Community Wiki

git log --author="that user"

wilhelmtell

github에는 비밀 방법도 있습니다 ...

?author=github_handle 을 추가하여 커밋 보기에서 작성자별로 커밋을 필터링할 수 있습니다. 예를 들어 https://github.com/dynjs/dynjs/commits/master?author=jingweno 링크는 Dynjs 프로젝트에 대한 커밋 목록을 보여줍니다.


slott

git help log

git log 맨페이지를 제공합니다. / 키를 누른 다음 "author"를 입력하고 Enter 키를 눌러 "author"를 검색합니다. "n"을 몇 번 입력하여 관련 섹션으로 이동하면 다음이 표시됩니다.

 git log --author="username"

이미 제안된 대로.

이렇게 하면 커밋 작성자가 표시되지만 Git에서는 작성자가 커미터와 다를 수 있습니다(예: Linux 커널에서 일반 사용자로 패치를 제출하면 다른 관리 사용자가 패치를 커밋할 수 있음). .) Git에서 작성자와 커미터의 차이점을 참조하십시오. 자세한 사항은)

대부분의 경우 사용자는 커미터이자 작성자입니다.


ustun

자세한 내용을 가져오려면 - (여기서 %an 은 작성자를 나타냄)

이것을 사용하십시오 :-

 git log --author="username" --pretty=format:"%h - %an, %ar : %s"

Sireesh Yarlagadda

자신의 커밋을 필터링하려면 다음을 수행하십시오.

 git log --author="<$(git config user.email)>"

Luca Faggianelli

cat | git log --author="authorName" > author_commits_details.txt

이렇게 하면 커밋이 텍스트 형식으로 제공됩니다.


Johnsa Philip

단순히 사용자 이름의 일부를 사용하여 이것을 약간 축약할 수도 있습니다.

 git log --author=mr #if you're looking for mrfoobar's commits

three

이 도구를 사용해보십시오 https://github.com/kamranahmedse/git-standup

용법

 ```bash $ git standup [-a <author name>] [-w <weekstart-weekend>] [-m <max-dir-depth>] [-f] [-L] [-d <days-ago>] [-D <date-format>] [-g] [-h] ```

다음은 각 플래그에 대한 설명입니다.

 - `-a` - Specify author to restrict search to (name or email) - `-w` - Specify weekday range to limit search to (eg `git standup -w SUN-THU`) - `-m` - Specify the depth of recursive directory search - `-L` - Toggle inclusion of symbolic links in recursive directory search - `-d` - Specify the number of days back to include - `-D` - Specify the date format for "git log" (default: relative) - `-h` - Display the help screen - `-g` - Show if commit is GPG signed or not - `-f` - Fetch the latest commits beforehand

InsaneBot

다른 질문이 (아마도 잘못 되었습니까?) 잠겨 있었기 때문에 여기에 넣을 것입니다.

작성자에게 커밋 수 표시:

 git shortlog -nse

특정 USERNAME에 대한 모든 커밋 찾기:

 git log --author=USERNAME --oneline | awk '{print $1}' | xargs git show

sjas

.bashrc 파일에 이 작은 스니펫을 추가하여 x 사용자에 대한 n개의 로그를 컬러로 표시합니다.

 gitlog() { if [ "$1" ] && [ "$2" ]; then git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" --author="$2" elif [ "$1" ]; then git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" else git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order fi } alias l=gitlog

Frank의 마지막 10개 커밋을 표시하려면 다음을 수행합니다.

l 10 frank

모든 사용자가 최근 20개의 커밋을 표시하려면 다음을 수행합니다.

l 20


Frank Forte

GitHub를 사용하는 경우:

  • 지점으로 이동
  • 커밋을 클릭

그것은 아래 형식으로 목록을 표시합니다

 branch_x: < comment> author_name committed 2 days ago
  • 개별 작성자의 커밋을 보려면 ; author_name을 클릭하면 해당 분기에서 해당 작성자의 모든 커밋을 볼 수 있습니다.

diEcho

= 또는 "공백"을 사용할 수 있습니다. 예를 들어 다음 두 명령은 동일한 결과를 반환합니다.

 git log --author="Developer1" git log --author "Developer1"

harshainfo

그러나 많은 유용한 답변이 있습니다. 반면에 다른 방법을 추가하기만 하면 됩니다. 당신은 또한 사용할 수 있습니다

 git shortlog --author="<author name>" --format="%h %s"

그룹화 된 방식으로 출력을 표시합니다.

 <Author Name> (5): 4da3975f dependencies upgraded 49172445 runtime dependencies resolved bff3e127 user-service, kratos, and guava dependencies upgraded 414b6f1e dropwizard :- service, rmq and db-sharding depedencies upgraded a96af8d3 older dependecies removed

여기에서 현재 브랜치 아래 <Author Name> 이(가) 총 5개의 커밋을 수행합니다. --all 을 사용하여 git 저장소의 모든 곳(모든 분기) 에서 검색을 시행할 수도 있습니다.

한 가지 캐치: git은 내부적으로 입력 <author name> 을 git 데이터베이스에 있는 작성자의 이름 및 이메일과 일치시키려고 시도합니다. 대소문자를 구분 합니다.


surajs1n

내 경우: 소스 트리를 사용하고 있으며 다음 단계를 수행했습니다.

  1. CRL+3 누름
  2. 변경된 드롭다운 작성자
  3. "Vinod Kumar"라는 이름을 입력했습니다.

여기에 이미지 설명 입력


Vinod Kumar

출처 : http:www.stackoverflow.com/questions/4259996/how-can-i-view-a-git-log-of-just-one-users-commits

반응형