对于某些统计目的,我需要精确计算开发人员为 git repo (HEAD) 的当前状态贡献的字符数量。
我能得到的最接近的是这个命令:
wc -m `git log --no-merges --author="SomeDev" --name-only --pretty=format:"" | sort -u`
这种方法存在一些问题:
- 即使有几个人贡献了一个文件 - 所有角色都将归属于最初的作者,
- 如果作者的文件
SomeDev
在某个阶段被重命名,它会失败。
可以git blame
以某种方式用于此目的吗?我看到它一方面可以跟踪文件重命名,但它似乎将整行归因于最后一个提交者,即使他可能只更改了其中的几个字符,而其余部分是由前一个提交者贡献给该行的。