我对这个git commit log感到困惑。 我认为相关事实在下面的屏幕截图中。 屏幕截图来自源树。但是如果我在命令行上运行git diff,我会得到相同的空差异。
(如果我单击选择提交4,则差异也是空的。)
我无法理解的是为什么在提交1和4之间diff是空的。或者为什么作为合并的提交4不包含文件差异。
提交2将文件更改引入紫色分支,我无法看到它们如何不属于1和4之间的差异。
(提交3是来自分支的合并,它是最左边分支(主干)的历史版本。所以我认为将它放在那里是没有意义的;如果它是从当前状态的合并它将允许合并4成为快进的主干,现在它只是主干的一个子集的合并。)
编辑: 工作流程是git flow。所以右边的行是特征分支,最左边是一个与特征分支合并的开发分支。
答案 0 :(得分:0)
我的错误。实际上我相信根据我对情况的描述,提交4中的合并不应该是空的,就像1和4之间的差异不可能是空的一样。 对于它原因的解释是,与我所写的相反,提交3不仅仅是来自开发分支的先前状态的合并。对于一些我未知的原因,这个合并提交实际上恢复了提交2完成的文件更改。在这个新的亮点中,差异是空的并不再奇怪。
很抱歉浪费了你的时间。