GIT合并引入了一个新的提交。这会导致"git blame"的问题:合并的行似乎是由进行合并的开发人员提交的。
我可以理解冲突变更的情况(因为他解决了冲突)。但是对于不冲突的线有没有办法不发生这种情况呢?有"受责备"的选择吗?
如果没有其他方法,当你有大量的合并时,这基本上会使"git责备"几乎毫无用处——而git鼓励大量的合并。
SVN是否存在无冲突合并的问题?我不这么认为,但我可能错了,因为我(理解地)在使用SVN时避免了像瘟疫一样的分支。
内部git blame
使用git rev-list
创建修订列表。git rev-list
接受--no-merges
选项
所以你可以这样做:
git blame --no-merges <file>
我刚刚尝试了与git 2.3.8版本的合并,非合并冲突的行没有归因于合并提交作者,它们归因于原作者。