GIT - who pushed/wrote most code
Is there a git command to che开发者_JS百科ck which developer pushed the most code for all history?
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:
Now you can select either raw Statistics, Commits by author and Commits by date from the drop down box in the upper right corner:
As I mentioned in Determine current code distribution by author, you can easily produce that statistics using gitdm.
精彩评论