한 사용자의 커밋에 대한 자식 로그를 어떻게 볼 수 있습니까? 를 사용할 때

를 사용할 때 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)>"