我不得不回滚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