programing

Git에 있는 프로젝트의 모든 개발자 나열

newstyles 2023. 6. 18. 12:27

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 -u
  • %an
  • %ae 이메일
  • %n
  • %cn
  • %ce

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

사용해 볼 수 있습니다.

git log | grep Author: | sort -u

(커밋을 수행한 사용자)

참고: 기본적으로 그룹은 작성자별 커밋을 수행합니다.

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

git shortlog -snc

제프 peff킹()의 커밋 03f4082(2016년 12월 16일)를 참조하십시오.
Linus Torvalds()torvalds의 commit fbfda15(2016년 10월 11일)를 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- 커밋 ad1b4e2, 2016년 12월 27일)

Linus Torvalds 자신이 이 기능을 도입했습니다.

shortlog 정보

상황에 따라 커밋을 작성자별이 아닌 커밋별로 그룹화할 수 있습니다.

예를 들어, 내가 아직도 놓치고 있는 것을 찾고 싶을 때.linux-next현재 병합 창에서, 나는 누가 패치를 작성했는지, 무엇인지에 대해 그다지 신경 쓰지 않습니다.git tree그것은 일반적으로 "누가 그것을 저질렀는가"로 요약됩니다.

log " 니그러 git short log take a "-c또는 "--committer그룹화를 해당 그룹으로 전환하는 옵션입니다.

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

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

@pedro-nascimento, @mic_e 등의 훌륭한 답변은 이미 문제를 해결했습니다.

을 또한다추수있다습니에 할 수 ..gitconfig

contributors = shortlog -e --summary --numbered

또는 셸 타입으로.

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

그 다음과 같은 것을 실행할 수 .git contributors

GHI를 사용하여 문제를 열고 특정 사용자의 사용자 이름만 알고 있으면 문제를 할당할 수 있습니다.

이것이 누군가에게 도움이 될지는 모르겠지만, 저에게 도움이 되었던 솔루션을 여기에 남겨두겠습니다.

GitHub Iran에서 작성자 사용자 이름만 가져오려면 다음과 같이 하십시오.

git shortlog -sne | grep +  | sed -e "s/.*+//; s/@.*//"

현재 프로젝트의 작성자 이름만 나열됩니다.

그런 다음 사용자 이름을 선택하여 문제를 할당할 수 있습니다.

CMD/Terminal에서 문제를 열거나 다른 사람에게 할당하려는 사용자는 여기에서 GHI https://github.com/stephencelis/ghi 의 설명서를 참조하십시오.

다른 옵션은 git 기록에 대한 SQL 쿼리를 실행할 수 있는 도구인 CLI를 사용하는 것입니다.다음과 같은 질문이 있습니다.

SELECT
  author_name,
  author_email count(*),
  count(*)
FROM commits
GROUP BY author_name, author_email
ORDER BY count(*) DESC

보고서의 모든 커밋 작성자 목록을 커밋 수에 따라 순서대로 출력합니다.SQL 뿐이므로 커밋 타임스탬프에 대한 필터링을 추가하거나 LOC 추가/제거 등을 기준으로 정렬할 수 있습니다.

제가 프로젝트의 유지 관리자/작성자이지만 이러한 유형의 사용 사례에 유용할 수 있다고 생각하기 때문에 공유하고자 했습니다.

레포에 작성자별 Git 통계를 출력하는 명령어도 있습니다.

아직 직접 테스트할 시간은 없지만 Git 저장소에 대한 프로젝트 통계에 매우 적합합니다. https://github.com/visionmedia/git-extras

다음을 확인하십시오.bin다양한 스크립트를 확인할 수 있습니다.

예를 들어,git-count스크립트(커밋당 커밋 수):

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

언급URL : https://stackoverflow.com/questions/9597410/list-all-developers-on-a-project-in-git