Git合并冲突重置一切



我不得不回滚Live服务器,现在我得到冲突错误时,试图合并我的开发分支与主,因为他们是不同步的。

是否有任何方法可以简单地重置一切,以便我可以合并dev与master?

Dev是正确的,我很高兴覆盖master,但如果可能的话,我不想通过mergetool解决所有的冲突。

根据您的目标,有两种选择:

git checkout dev
git merge -s ours master

它将合并的结果保留为,正好是 dev,实际上,它只是将master标记为dev的父级,而在源级别对dev没有任何作用。

git checkout dev
git merge -X ours master

它像往常一样进行合并,但如果有冲突,它会自动使用dev中的片段。这意味着,如果master引入的某些内容与dev冲突,则优先选择dev,但对于NOT冲突,则将它们纳入合并结果。

听起来您想要删除master并更改master以匹配您的开发分支。如果是这种情况,这将工作(警告任何非开发的更改将消失):

git checkout master
git reset --hard dev

我假设你的dev分支通常在master之前,所以你想(正式地)将master合并回dev,但保持dev中的所有内容原样。可以这样做:

git checkout dev
git merge -s ours -m 'formal no-op merge of changes from master' master

最新更新