如何获取两个提交之间的修改者?

10

我正在尝试获取两个提交之间更改的作者。

对我来说最好的方式是:

git diff --name-only master
但是,不是...
--name-only 

参数类似

--authors-only

但不幸的是,diff 没有这样的限制。我没有必须使用 diff 命令的限制,git log 或其他命令也可以。

我需要用它来追责导致测试失败的人。

3个回答

9

git log --pretty=format:"%an" prevTestCommit..lastTestCommit | sort | uniq

的意思是获取从prevTestCommit到lastTestCommit之间所有提交的作者,去重后按照字母顺序排序。

由于某种原因,只有当我提供短的提交哈希 ID 时,这对我才有效。 - undefined

3

您可以使用如下代码:

git log --pretty=format:"%an %aE" f398e997ea9ad81e586b1f751693cd336963ba6a ^bb69eb11d979437a0b390ac9333342e7594c211c

在这个格式中,将会打印作者姓名和电子邮件以及提交

参见如何在 git 中列出两个提交哈希之间的提交

要了解如何获取两个给定提交之间的提交,请查阅更多信息。


由于某些原因,我无法在井号之间使用“^”符号,所以我需要像@DAle的答案中所述一样使用“..”。 - Michał

0

不确定是否默认存在,但您可以为git log指定自定义输出格式:

git log --pretty="format:%an"

这将仅打印作者名称。有关更多详细信息,请参见git log --help中的PRETTY FORMATS部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接