1

有没有办法使用 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 集成以自动标记正在更改代码的开发人员或给他们发电子邮件等。

我发现这个 gist 使用 python 似乎做了类似的事情,但是为此需要使用除 bash/git 之外的单独语言吗?

4

2 回答 2

1

你可以使用 git-diff-blame https://github.com/dmnd/git-diff-blame

你可以通过提交 sha 过滤

于 2017-12-18T14:46:51.227 回答
0

不可能可靠地做到这一点,因为 git 需要区分添加的行和编辑的行,这些行不起作用。

一个好的方法是获取文件中贡献的百分比 - 在提交之前 - 并解决 PR​​ 中贡献最大的那些。顺便说一句,这就是 github 正在做的事情。

于 2017-12-18T14:33:28.030 回答