寻找在Git中最更改的文件寻找在Git中最更改的文件(Finding most changed fi

2019-05-12 20:53发布

我怎样才能显示Git的文件,这最经常改变?

Answer 1:

你可以使用git effort (从git-extras软件包)命令,显示有关文件每多少提交的统计数据(通过提交和活跃天数)。

编辑:git的努力只是一个bash脚本,你可以在这里找到 ,如果你需要更多的东西特别适应您的需求。



Answer 2:

你可以做类似如下:

git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -10

日志只输出已在每个被更改提交文件的名称,而它的其余部分只是排序并输出10个最频繁出现的文件名。



Answer 3:

我注意到,无论马克和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



Answer 4:

对于PowerShell中,假设你有安装的Git的bash

git log --pretty=format: --name-only | sort | uniq -c | sort -Descending | select -First 10


Answer 5:

这是一个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),"")

创建数据透视表

values: Type
  Filter: isFilename = true
  Rows : Type
  Sub : FileName

click [Count Of TYPE] -> Sort -> Sort Largest To Smallest


Answer 6:

git whatchanged --all | \grep "\.\.\." | cut -d' ' -f5- | cut -f2- | sort | uniq -c | sort

如果你只是想看看你的文件添加--authorgit whatchanged --author=name --all



Answer 7:

我们还可以找出两次提交或分支之间更改的文件,对于如

git log  --pretty=format: --name-only <source_branch>...<target_branch> | sort | uniq -c | sort -rg | head -50 


Answer 8:

这可能是显而易见的,但是,所提供的查询将显示所有文件,但也许你不感兴趣,知道您的配置或项目文件的最新。 一个简单的grep将隔离到你的代码文件,例如:

git log --pretty=format: --name-only | grep .cs$ | sort | uniq -c | sort -rg | head -20


Answer 9:

老问题,但我认为仍然是一个非常有用的问题。 这里是直PowerShell中的工作示例。 这将让你的回购十大最具更改的文件,对于分支你在。

git log --pretty=format: --name-only | Where-Object { ![string]::IsNullOrEmpty($_) } | Sort-Object | Group-Object  | Sort-Object -Property Count -Descending | Select-Object -Property Count, Name -First 10


文章来源: Finding most changed files in Git
标签: git shell