git log
사용할 때 해당 사용자의 커밋만 볼 수 있도록 사용자별로 필터링하려면 어떻게 해야 합니까?
질문자 :markdorison
이것은 기록을 보는 가장 일반적인 두 가지 방법인 git log
와 gitk 모두에서 작동합니다.
전체 이름을 사용할 필요는 없습니다.
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
Vinod Kumar
출처 : http:www.stackoverflow.com/questions/4259996/how-can-i-view-a-git-log-of-just-one-users-commits
'etc. > StackOverFlow' 카테고리의 다른 글
IntelliJ에서 줄 번호를 영구적으로 활성화하려면 어떻게 해야 합니까? (0) | 2022.07.06 |
---|---|
Android 스튜디오에서 Gradle이란 무엇입니까? (0) | 2022.07.06 |
APK 파일에서 소스 코드를 얻는 방법이 있습니까? (0) | 2022.07.06 |
MySQL에서 명령줄을 사용하여 사용자 계정 목록을 얻으려면 어떻게 해야 합니까? (0) | 2022.07.06 |
UnicodeEncodeError: 'ascii' 코덱은 위치 20의 u'\xa0' 문자를 인코딩할 수 없습니다: 서수가 범위(128)에 없음 (0) | 2022.07.06 |