Git 当稍后的提交解决了冲突时,如何避免在重基期间发生冲突?
在git中,如何轻松地重新设置分支的基础,使其具有在重新设置基础结束时已经修复的冲突 例如,我在一个功能分支上,在主分支中有2个提交用于重基Git 当稍后的提交解决了冲突时,如何避免在重基期间发生冲突?,git,rebase,tree-conflict,Git,Rebase,Tree Conflict,在git中,如何轻松地重新设置分支的基础,使其具有在重新设置基础结束时已经修复的冲突 例如,我在一个功能分支上,在主分支中有2个提交用于重基 第一次提交会产生冲突,但如果rebase将两次提交合并在一起,那么在第二次提交之后就不会有冲突 那么,如何将其作为一个整体重新定位,而不是一个接一个地重新定位并两次解决冲突呢 我想一定有人在什么地方回答了,但我什么也找不到,因为所有类似的问题标题都很模糊 最好的方法是先挤压两个提交(通过使用交互式重新基址),然后在主机上重新基址 通过交互式重基挤压最后2次
第一次提交会产生冲突,但如果rebase将两次提交合并在一起,那么在第二次提交之后就不会有冲突
那么,如何将其作为一个整体重新定位,而不是一个接一个地重新定位并两次解决冲突呢
我想一定有人在什么地方回答了,但我什么也找不到,因为所有类似的问题标题都很模糊 最好的方法是先挤压两个提交(通过使用交互式重新基址),然后在主机上重新基址
git rebase -i head~2
为第二次提交选择挤压(或修复)git rebase master
git rebase -i $(git merge-base master HEAD)
这样,组合提交(当表示为补丁时)可以干净地应用于master
:
git rebase master
您试图应用于master的最初提交将发生冲突,简单明了。一旦“状态”完成,您必须能够检查它,所以Git会让您解决冲突。您的基本问题归结为“如何应用包含冲突的修补程序而不创建冲突”,这显然是您无法做到的。通过首先挤压提交,您就不需要应用冲突提交。最后它更加复杂,我需要使用基于范围的cherry pick,而不是rebase,我应该选择哪个答案?两个答案都有点相同。樱桃采摘也是一样,首先是南瓜。如果这太难了,您可以选择合并(不需要挤压);)