git-blame
의 출력을 구문 분석 할 수 있습니다. 이 명령은 파일의 각 행을 편집 한 마지막 사람을 제공합니다.
이 예제는 원하지 정확히하지만 난 당신에게 아이디어를 제공합니다 생각 : 이것은 그들이에 대해 마지막으로 수정 된 행의 수와 함께 저자의 전자 메일 주소를 인쇄합니다
git blame -e the/file | awk -F '<|>' '{print $2}' | sort | uniq -c
을 예를 들어, 파일 :
47 [email protected]
34712 [email protected]
가 전체 저장소에서 실행하려면, 당신은 같은 것을 할 수 있습니다
git ls-files | while read f; do git blame -e $f; done | awk -F '<|>' '{print $2}' | sort | uniq -c
여기에있는 아이디어는 먼저 git ls-files를 사용하여 파일 목록을 생성 한 다음 각 파일에 위의 코드 조각을 실행하는 것입니다 (here 언급 된 스 니펫 사용). 이 코드를 큰 코드베이스에서 실행하는 경우 중간 결과를 파이프를 사용하지 않고 임시 파일에 저장할 수 있습니다.
출처
2012-04-20 07:05:57
Job
"코드 줄로 프로그래밍 진행 상황을 측정하는 것은 중량으로 항공기 구축 진행 상황을 측정하는 것과 같습니다." – Etaoin
@에요 : 나는 +1000을 더하고자한다. :-) – torek