我正在寻找一个很好的描述,说明如果在变基期间提交会发生什么,以及如何以一种简单的方式“恢复”这一情况。
让我们考虑一个场景,其中一个大型提交被重新设定。在变基期间出现冲突,用户开始合并更改。
现在,想象一下这样一个场景:你快完成了,但你没有打电话git rebase --继续- 无论出于何种原因(无论是长周末还是此类)。下周你就恢复了工作,仍然在变基期间。最后,你打电话git commit --修改将更改附加到最后一次提交并且...它们最终会出现在您要变基的提交中。
当然,您始终可以检查开始变基的提交并“破解” - 例如,尝试复制修改中的所有文件,但这可能会删除同时引入的更改。
有没有一个干净、好的方法来解决这个问题?这是我应该小心的一种特殊状态,我永远不想陷入这种状态,但它仍然偶尔会发生 - 我最终花了一整天的时间试图把事情搞清楚。
我非常感谢所有的帮助和建议。谢谢你!
对于这种情况有两种建议的解决方案。
第一个解决方案是将最终结果重新设置回原始基础提交。这将需要您再次解决类似的合并冲突,但是完成后您的提交应该回到正轨。
对我有用的替代解决方案是分支出与您修改的提交相同的点(它带有 SHA,应该用作结帐基础)。然后创建一个新分支并调用git merge --no-ff --no-commit --strategy=theirs other_branch
,其中 *other_branch* 是不幸提交的分支。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)