在Git中查找大部分已更改的文件
我怎样才能显示最常更改的Git文件?
你可以使用git-extras包( git-extras package)命令,该命令显示每个文件(提交和活动date)有多less次提交的统计信息。 
编辑:混帐努力只是一个bash脚本, 你可以在这里find适应你的需求,如果你需要更特别的东西。
你可以做如下的事情:
 git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -10 
日志只输出在每个提交中已经被改变的文件的名称,而其余的只是sorting并输出前10个最常出现的文件名。
 我注意到Mark和Sehe的答案都没有 – --follow这些文件,也就是说,一旦他们到达文件重命名,他们就会停下来。 这个脚本会慢很多,但是会为此目的而工作。 
 git ls-files | while read aa do printf . >&2 set $(git log --follow --oneline "$aa" | wc) printf '%s\t%s\n' $1 "$aa" done > bb echo sort -nr bb rm bb 
 git-most.sh 
对于PowerShell,假设你安装了git bash
 git log --pretty=format: --name-only | sort | uniq -c | sort -Descending | select -First 10 
这是一个Windows版本
 git log --pretty=format: --name-only > allfiles.csv 
然后在Excel中打开
 A1: FileName A2: isVisibleFilename >> =IFERROR(IF(C2>0,TRUE,FALSE),FALSE) A3: DotLocation >> =FIND("@",SUBSTITUTE(A2,".","@",(LEN(A2)-LEN(SUBSTITUTE(A2,".","")))/LEN("."))) A4: HasExt >> =C2>1 A5: TYPE >> =IF(D2=TRUE,MID(A2,C2+1,18),"") 
创build数据透视表
 values: Type Filter: isFilename = true Rows : Type Sub : FileName click [Count Of TYPE] -> Sort -> Sort Largest To Smallest 
 git whatchanged --all | \grep "\.\.\." | cut -d' ' -f5- | cut -f2- | sort | uniq -c | sort 
 如果你只想看到你的文件添加 – 作者git whatchanged --author=name --all 。 
我们也可以找出在两个提交或分支之间改变的文件,例如
 git log --pretty=format: --name-only <source_branch>...<target_branch> | sort | uniq -c | sort -rg | head -50 
这可能很明显,但是,提供的查询将显示所有文件,但是,也许你不知道你的configuration或项目文件是最新的。 一个简单的grep将隔离到你的代码文件,例如:
 git log --pretty=format: --name-only | grep .cs$ | sort | uniq -c | sort -rg | head -20