我知道这是一个棘手的主题所以我会尽可能地简化事情,告诉我是否真的需要更多关于所涉及变化的细节。
所以基本上,使用SourceTree,我必须进行相当简单的操作,将分支A合并到B(B来自A)。我们说我有三个文件:1,2和3,它们都在两个分支中都被修改过。在合并期间,我遇到了文件2上的冲突,我手动解析标记为"已解决"。然后我按下commit让git处理合并的其余部分但本身。
现在结果显示,文件3中A中引入的一些更改已恢复到B从A分支出来时所处的状态。这非常令人不安,因为此文件没有涉及冲突所以git应该已经合并了这些变化。此外,此文件不会出现在简化日志中(即使我可以在两次提交之间使用直接命令行diff查看更改)。 即使最糟糕的是,B之后被合并为A,现在我无法在文件历史记录的任何位置找到这些更改。
git如何在不通知我任何阶段的情况下删除此提交?
我唯一的猜测是它实际上可能是一个sourcetree问题,将文件标记为" Resolved"然后单击commit to finalize可能不是处理进程的正确方法(我应该手动请求git重新启动合并或类似的东西?看起来很奇怪,因为如果合并状态不完全,git不允许提交解决)。
但是,我很感激这里的一些提示,因为它甚至难以发现这些问题,对我们公司来说可能是一个巨大的问题......
提前致谢!