使用git log统计指定文件提交次数出错,求排查问题
问题原因及解决方法
你的命令出错是因为参数顺序不对:pretty=oneline被放在了--的后面,而--是Git里用来分隔「提交范围/命令选项」和「目标文件路径」的标记,--之后只能指定文件或目录路径。Git把pretty=oneline当成了一个不存在的文件名,相当于没有正确应用文件过滤规则,所以统计的还是整个仓库的提交数。
正确命令示例
方法1:调整参数顺序
把--pretty=oneline(或简化为--oneline)移到--前面:
git log --oneline main -- myluafile.lua | wc -l > build_number
方法2:用更高效的rev-list命令
Git提供了专门统计提交数的rev-list --count选项,不需要通过管道给wc -l,更高效准确:
git rev-list --count main -- myluafile.lua > build_number
这两种方式都会只统计main分支中修改过myluafile.lua的提交次数,每次修改该文件提交后数值都会+1。
内容的提问来源于stack exchange,提问作者Snoogens
相关产品推荐
相关产品推荐

