【发布时间】:2017-12-18 14:27:33
【问题描述】:
有没有办法使用 git 找出特定提交更改了哪些开发人员的代码?
这个过程看起来像:
获取一个提交 SHA,在父提交 git diff SHA^! 中获取每个更改的行,按行的作者 (git blame) 对它们进行分组,然后按行数对它们进行排序并列出如下
Commit SHA### updated code written by the following developers:
Jane Smythe (23 lines)
Rickard Strauss (8 lines)
我正在考虑在提交时使用它来打印到控制台(以下开发人员代码已修改,请确保在您的 PR 中标记它们),它甚至可能与 Bitbucket/ 集成Git 自动标记正在更改代码的开发人员或向他们发送电子邮件等。
我找到了this gist using python that appears to do something similar,但是为此需要使用除 bash/git 之外的其他语言吗?
【问题讨论】:
-
我只是要把它放在那里 - 这是我见过的第一个很好的责备用法,我很遗憾以前没有想到它。
-
"为此需要使用除 bash/git 之外的单独语言吗?" - 我不确定单独的 bash 是否足够强大,但在标准 git 安装中你也可以找到
perl,即使你碰巧安装了最少的 Windows 也有awk。 -
实际上我可以依靠我整个团队中的
node,但如果我在公开场合谈论它,我会首选通用解决方案;)