Git:显示单个文件的历史记录,包括合并提交

时间:2014-02-06 11:16:19

标签: git

TL; DR:有没有办法列出修改单个文件的所有提交,包括合并提交?知道git log -p --cc {filename}按照建议here不起作用。


在以下情形中:

  • master,branch1和branch2存在
  • commit C1在branch1中引入了一个更改
  • commit M1将branch1合并为master
  • master被合并到branch2,但是存在冲突,并且合并意外地破坏了C1引入的一些变化;所以我们最终得到一个合并提交M2,它创建了一个破碎的branch2
  • commit M3将branch2合并为master,从而破坏了主

我理解这种情况是坏消息(应该有自动测试来实现branch2被打破,M3应该从来没有发生过,等等......回到人们作为人们的搞乱现实并搞砸了有时。)

我们很难意识到这一点,因为虽然我们确切地知道导致错误的文件是什么,但我们找不到列出所有提交的方法。

this SO次问题之后,我们尝试了:

git log -p --cc {filename}

这仅打印提交到C1。

我们缺少什么? 感谢。

1 个答案:

答案 0 :(得分:0)

我会试试这个:

git log -m --no-max-parents -p {filename}