git blame:合并后更正作者

19

GIT合并会引入一个新的提交。这会导致“git blame”出现问题:合并的行看起来是由执行合并操作的开发人员提交的。

对于存在冲突变更,我可以理解这种情况(因为他解决了冲突)。但是针对非冲突行,有没有不出现这种情况的方法?是否有某些选项可用于“git blame”?

如果没有解决方法,这将基本上使得在有大量合并时“git blame”几乎无用 - 而GIT鼓励进行大量的合并。

SVN是否存在非冲突合并的此类问题?我认为没有,但我可能错了,因为我在使用SVN时避免了分支。


可能是重复的问题:如何在 Git 中进行 blame 操作而不看到合并记录? - Steve Chambers
2个回答

14

内部使用 git blame 命令调用 git rev-list 创建修订列表,并且 git rev-list 支持 --no-merges 选项。

因此,您可以执行以下操作:

git blame --no-merges <file>

5

我刚刚使用git 2.3.8版本尝试了一次合并,非冲突行未归属于合并提交作者,而是归属于原始作者。也许自从您的git版本以来已经解决了这个问题。


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