是否有办法与主要贡献者(作者)一起运行Git日志命令?我想将它与代码度量工具一起使用,以便能够从本质上显示每个贡献者生成的代码的质量。
File Author Cyclomatic Complexity LOC(Additions) LOC(Deletions)
Test.js "John Doe" 5 20 12
另一个有趣的观点是能够用
进行总结Author CyclomaticComplexityAverage LOC Per File #Files Majority Contributor
James 4 30 75
Anne 8 60 20
此外,如果有一个Git工具利用Microsoft visual studio代码分析(使用http://msdn.microsoft.com/en-us/library/ms173498.aspx和Git log或Git blame)来获得每个作者的指标,那将是很有趣的。
当试图识别弱点或优势以帮助提高团队成员和给予更高质量的认可时,它将是有用的。它也可以用来追踪一个人随着时间的推移而取得的进步。
我知道代码指标不一定是确定开发人员技能的准确方法,还有许多其他因素决定团队成员的贡献/技能。
Git是一个内容跟踪器,虽然每个blob都可以与一个作者相关联,但Git没有提供方便地容纳您所追求的各种顶级软件指标的规定。因此,您要么必须为内容构建自己的解析器,要么就会在一般情况下遇到固有的困难,因为git对内容的解释和表示与您的目标不一致。
另外,请记住git可以区分更改的作者和提交者(以及每个blob),这是您必须考虑的,特别是如果代码可以通过项目中的补丁提交。
忽略作者和提交者之间的区别,您可以直接知道,
- 使用
git blame -- /path/to/file
的文件中不同行的作者归属(您可以随后通过个人作者贡献过滤行) - 单个文件的
git log -- /path/to/file
历史记录(影响该文件的提交) - 包含
git log -p --author=<name>
的分支的作者提交历史记录
如果你幸运的话,你可以混合使用上述的后处理来生成一个合理的输入到你的工具,但我怀疑在任何情况下都需要大量的后处理。