Git 프로젝트의 모든 개발자 목록 (커밋을 수행 한 사용자)를 나열 할

Git에서 프로젝트에 기여한 모든 사용자 (커밋을 수행 한 사용자)를 나열 할 수 있습니까?

추가 통계가 있습니까?



답변

CURRENT 브랜치에서 모든 사용자 및 이메일과 커밋 수를 표시하려면 다음을 수행하십시오.

git shortlog --summary --numbered --email

또는 간단히 :

git shortlog -sne

현재 지점의 사용자 뿐만 아니라 모든 지점의 사용자를 표시하려면 --all플래그 를 추가해야합니다 .

git shortlog -sne --all

답변

목록에서 더 구체적으로 만들고 싶다면 (독특한 커미터와 작성자 목록을 찾으십시오) 다음을 사용할 수 있습니다 git log.

git log --pretty="%an %ae%n%cn %ce" | sort | uniq
  • %an 저자 이름
  • %ae 저자 이메일
  • %n 새로운 줄
  • %cn 커미터 이름
  • %ce 커미터 이메일

다른 자리 표시자는의 예쁜 인쇄 설명서에git log 설명되어 있습니다.


답변

당신은 이것을 시도 할 수 있습니다 :

git log | grep Author: | sort | uniq

답변

(커밋을 수행 한 사용자)

참고 : 기본적으로 git shortlog그룹은 작성자에 의해 커밋합니다 .

커미터별로 그룹화해야하는 경우 Git 2.12 (2017 년 1 분기)가 필요합니다.

git shortlog -snc

Jeff King ( )의 commit 03f4082 (2016 년 12 월 16 일)를 참조하십시오 . Linus Torvalds ( )의 commit fbfda15 (2016 년 10 월 11 일)를
참조하십시오 . (의해 병합 Junio C 하마노 – ad1b4e2 커밋 27 십이 2016)peff
torvalds
gitster

Linus Torvalds는이 기능을 소개합니다.

shortlog: 커미터 정보별로 그룹화

어떤 상황에서는 커밋을 작성자가 아닌 커미터별로 그룹화 할 수 있습니다.

난 그냥 내가 여전히에서 누락 무엇을 찾기 위해 원하는 경우 예를 들어, linux-next현재 병합 창에서, 나는 너무 많은 것 같이, 패치를 쓴 사람에 대해 걱정하지 않는다 git tree가 온 일반적으로 사람이 최선을 다하고 있습니다 “로 귀결되는,에서 그것”.

따라서 git shortlog에 ” -c“또는 ” --committer“옵션을 사용하여 그룹화를 전환하십시오.


답변

다른 옵션은 다음과 같습니다.

git log --format='%aN' | sort -u

답변

아직 직접 테스트하지는 않았지만 Git 리포지토리의 프로젝트 통계에 정말 좋습니다 : https://github.com/visionmedia/git-extras

아웃 확인 bin하여 다른 스크립트를 볼 수 카탈로그를.

예를 들어, git-count스크립트 (커미터 당 커밋 수)는 다음과 같습니다.

git shortlog -n $@ | grep "):" | sed 's|:||'

답변

@ pedro_nascimento, @mic_e 등의 훌륭한 답변은 이미 문제를 해결합니다.

또한 다음 줄을 .gitconfig

contributors = shortlog -e --summary --numbered

또는 쉘 유형

git config --global alias.contributors 'shortlog -e --summary --numbered'

그리고 나서 간단하게 호출 할 수 있습니다. git contributors