获取在Git中两次提交之间修改次数最多的文件
最近,我发现我正在处理的项目比我预期的有更多的bug,我想知道在我们的sprint过程中哪些文件更改最多 我可以这样做,但它只显示更改了哪些文件,而不显示更改了多少次获取在Git中两次提交之间修改次数最多的文件,git,shell,powershell,Git,Shell,Powershell,最近,我发现我正在处理的项目比我预期的有更多的bug,我想知道在我们的sprint过程中哪些文件更改最多 我可以这样做,但它只显示更改了哪些文件,而不显示更改了多少次 git diff --name-only SHA1 SHA2 请让我按照正确的方向编写一个脚本,以显示在两次提交之间更改最多的文件 提前谢谢 从中,您需要--stat或--numstat,具体取决于您希望输出的外观: git diff --stat hash1 hash2 .file1.un~ | Bin 0 ->
git diff --name-only SHA1 SHA2
请让我按照正确的方向编写一个脚本,以显示在两次提交之间更改最多的文件
提前谢谢 从中,您需要--stat
或--numstat
,具体取决于您希望输出的外观:
git diff --stat hash1 hash2
.file1.un~ | Bin 0 -> 948 bytes
.file2.un~ | Bin 0 -> 523 bytes
file1 | 25 +++++++++++++++++++++++++
file2 | 8 ++++++++
4 files changed, 33 insertions(+)
或
使用--format=%n
为每个提交获取一个空行,将它们全部折叠为一个已排序和计数的条目。然后在组对象中整理每个对象的文件名
最近10次提交的| sort | uniq-c
源的Powershell翻译示例。您可以根据自己的需要随意更改。如果遇到超过两位数的事件,请相应地更改sprintf
表达式%02d”
git log --name-only --pretty="%n" HEAD~10..HEAD |
egrep '.' |
sort |
uniq -c |
perl -pe 's/([0-9]+)/sprintf("%02d",$1)/e' |
sort -r |
less
你的意思是像换了几行?
git log --name-only --format=%n SHA1..SHA2 | Group-Object | Format-Table Count,Name
git log --name-only --pretty="%n" HEAD~10..HEAD |
egrep '.' |
sort |
uniq -c |
perl -pe 's/([0-9]+)/sprintf("%02d",$1)/e' |
sort -r |
less