Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GIT - who pushed/wrote most code

Tags:

git

github

Is there a git command to check which developer pushed the most code for all history?

like image 488
Stewie Griffin Avatar asked Feb 22 '11 01:02

Stewie Griffin


2 Answers

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

like image 56
looneydoodle Avatar answered Sep 23 '22 01:09

looneydoodle


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.

like image 20
markmc Avatar answered Sep 21 '22 01:09

markmc