简体   繁体   中英

GIT - who pushed/wrote most code

是否有一个git命令来检查哪个开发人员推送了所有历史记录的最多代码?

I found something ,

git ls-files | xargs -n1 -d'\n' -i git-blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ && print "$1\n"' | sort -f | uniq -c -w3 | sort -r
User: askedrelic
Functions: perl sort uniq xargs

Prints per-line contribution per author for a GIT repository

Figures out total line contribution per author for an entire GIT repo. Includes binary files, which kind of mess up the true count.

If crashes or takes too long, mess with the ls-file option at the start:

git ls-files -x "*pdf" -x "*psd" -x "*tif" to remove really random binary files

git ls-files "*.py" "*.html" "*.css" to only include specific file types

Based off my original SVN version: http://www.commandlinefu.com/commands/view/2787/prints-total-line-count-contribution-per-user-for-an-svn-repository

http://www.commandlinefu.com/commands/view/3889/prints-per-line-contribution-per-author-for-a-git-repository

LWN publish "Who wrote 2.6.x" reports for the Linux kernel using a tool called gitdm

I've had some success using it for other projects too, it's especially useful if you want to compare the contributions of different groups of developers based on employer.

Github provides impact graphs. For example, here's the graph for comex/frash .

If you're on Windows and use TortoiseGit, you can select Show Log for a repo. In the dialog coming up, select Statistics : tortoisegit_screenshot

Now you can select either raw Statistics , Commits by author and Commits by date from the drop down box in the upper right corner:

在此输入图像描述

正如我在作者确定当前代码分发中所提到的,您可以使用gitdm轻松生成该统计信息。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM