虽然git仓库中某个作者的git-blame和counting number of lines changed很有用,但是否有一个命令可以列出某个作者或一组作者在仓库中修改的所有路径名,并根据该作者或一组作者的提交次数对每个文件进行评分?例如,在克隆的git仓库中运行这样的命令,输出结果如下:
谢谢你!
虽然git仓库中某个作者的git-blame和counting number of lines changed很有用,但是否有一个命令可以列出某个作者或一组作者在仓库中修改的所有路径名,并根据该作者或一组作者的提交次数对每个文件进行评分?例如,在克隆的git仓库中运行这样的命令,输出结果如下:
谢谢你!
3条答案
按热度按时间s6fujrry1#
我刚刚意识到,如果你使用
--name-only
来打印文件名,漂亮的格式为空字符串,并使用this method来排序,uniq,并按提交次数排序,在 *nix/OS X中,你可以用途:请确保使用正确的作者。
例如,如果我们试图在Rails中找到DHH的作者,我们可能会这样做:
请注意,在Rails git repo中,DHH的所有作者都使用“大卫Heinemeier Hansson”这个名字。
可能输出:
因此,截至2015年2月21日,Rails git repo中有3624个文件,他似乎从未亲自提交过,提交次数最多的文件是ActionPack CHANGELOG,为611次,其次是ActiveRecord CHANGELOG,ActiveRecord::Base是他提交次数最多的Ruby文件。
如果要从计数中排除未接触的文件数,请使用
--format=
而不是--pretty=format:
,例如:lzfw57am2#
PowerShell示例
显示当前工作树中每个文件的指定作者的提交计数。
缩写
长格式
注解
|
表示将结果对象传送到下一个命令。$_.SomeProperty
访问管道输入对象的属性。git log --format='%aN' | sort -u
以遍历所有项目作者输出
yfwxisqw3#
我发现把这个git别名添加到
.gitconfig
会很有帮助:然后,您可以使用与
git log
相同的参数,例如: