【发布时间】:2020-10-04 21:52:54
【问题描述】:
我在 Branch X 工作,并从由其他开发人员维护的 Branch Y 接收交付。 我将 Y 合并到 X 中,但需要通过 Y 中的一些错误提交将更改恢复到文件“KKK”,并在修复该问题时继续处理其他更改。这会导致我在分支 X 中恢复提交文件“KKK”[我通常从未接触过]。这意味着“KKK”在我的分支中恢复为“版本 A”,而在分支 Y 中继续处理它。(见图.)
接下来,当“KKK”在“版本 I”变得更加成熟时,我再次将 Y 合并到 X,这一次期待“KKK”更新到“版本 I”。相反,git 在进行合并时会自动接受我的还原提交“版本 A”并忽略“版本 I”。该文件仍处于“版本 A”。为什么会这样?我的工作方式有问题吗?
我感觉这在某种程度上与“快进合并”有关,但我不确定。 I have tried to visualize this here.
提前致谢。
【问题讨论】: