git - 我如何在没有看到 merge 的情况下指责

标签 git blame

如果我有一个文件,它的历史是这样的:

----A----B
     \    \
      C----D----E

然后我对 E 进行了 blame ,然后我想看看修订版 B 和 C 中发生了什么变化,但我并不真正关心 D,因为那是一个 merge 。

我有办法做到这一点吗?我想我正在寻找某种 --no-merges 选项来 blame git,但我没有在 manual 中看到一个选项。 .

最佳答案

实际上,您确实关心 D。考虑这种情况:

in commit B:
2) banana
3) coconut
4) domino     // conflicts with C

in commit C:
2) banana
3) coconut
4) elephant   // conflicts with B

在提交 D 中,我们解决了冲突:

in commit D:
2) banana
3) coconut
4) domino-elephant

请注意,在 D 中,出现了一条在 B 或 C 中都没有出现的行。如果忽略 merge ,您将永远看不到它,并且您永远无法分辨第 4 行的来源,即不好。

关于git - 我如何在没有看到 merge 的情况下指责,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290094/

相关文章:

svn - 哪些 Subversion Web 界面具有指责功能?

svn - 通过多次合并跟踪 SVN 更改

SVN - 合并是否保留了作者,以便责备是正确的?

git - 我应该如何更正 pull 请求?

ios - 使用单个 git 存储库管理项目和由该项目创建的动态框架

git - 如何在文件名大小写更改时切换分支?

java - 如何在提交之前 JGit 责备文件?

svn - 不会清除svn责备的样式清理?

使用 ssh 从 AWS EC2 中的存储库进行 Git 克隆?

git - 使用 GPG 签署 git 提交时,到底签署了什么?