를 사용할 때 git log
해당 사용자의 커밋 만 볼 수 있도록 사용자별로 필터링하려면 어떻게해야합니까?
답변
이것은 역사를 보는 가장 일반적인 두 가지 방법 git log
과 두 가지 모두 gitk
에 적용됩니다.
전체 이름을 사용할 필요는 없습니다.
git log --author="Jon"
“Jonathan Smith”의 커밋과 일치합니다.
git log --author=Jon
과
git log --author=Smith
작동합니다. 공백이 필요없는 경우 따옴표는 선택 사항입니다.
--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/)에 있습니다.
답변
git log --author="that user"
답변
github에는 비밀 방법이 있습니다 …
param을 추가하여 커밋보기에서 작성자별로 커밋을 필터링 할 수 있습니다 ?author=github_handle
. 예를 들어 링크 https://github.com/dynjs/dynjs/commits/master?author=jingweno 는 Dynjs 프로젝트에 대한 커밋 목록을 보여줍니다.
답변
git help log
git log의 맨 페이지를 제공합니다. /를 누르고 “author”를 입력 한 다음 Enter 키를 눌러 “author”를 검색하십시오. 관련 섹션으로 이동하려면 “n”을 몇 번 입력하십시오.
git log --author="username"
이미 제안한대로.
이것은 커밋의 저자를 제공하지만 Git에서 저자는 커미터와 다른 사람이 될 수 있습니다 (예 : Linux 커널의 경우 일반 사용자로 패치를 제출하면 다른 관리 사용자가 커밋 할 수 있음) .) Git의 저자와 커미터의 차이점을 참조하십시오. 자세한 사항은)
대부분의 경우, 사용자라고하는 것은 커미터와 저자입니다.
답변
자세한 내용을 보려면-(여기 %an
에서 저자를 나타냅니다)
이것을 사용하십시오 :-
git log --author="username" --pretty=format:"%h - %an, %ar : %s"
답변
cat | git log --author="authorName" > author_commits_details.txt
이것은 커밋을 텍스트 형식으로 제공합니다.
답변
자신의 커밋을 필터링하려면 다음을 수행하십시오.
git log --author="<$(git config user.email)>"