我有以下情况:
clone
(Y),因为在Y上工作的人很多,我们没有做任何rebase
,而只做merge
。当我们想将Y传递(push
)Y到X时,我们想做一个rebase
以便使事情变得干净整洁问题在于,在执行
rebase
时,要求我们执行在先前merge
步骤中已经进行的所有合并。除了实际上意味着重新进行合并的解决方案之外,还有其他解决方案吗?我希望它非常简单,因为我们已经解决了冲突的合并。
最佳答案
重新获得“干净的”历史记录被高估了。如果要保留历史记录,最好的方法是进行合并而不是重新设置基准。这样,如果您需要返回到修订版本,则该版本与您在开发过程中测试的版本完全相同。这也解决了有关先前解决的合并冲突的问题。
如果您不关心保存历史记录,则可以从master分支创建一个新分支,将其 check out ,然后执行git read-tree -u -m dev
更新您的工作树以匹配dev
分支。然后,您可以将所有内容提交到一个大提交中,然后像往常一样将其合并到master中。