我不得不回滚 Live 服务器,现在在尝试将我的 dev 分支与 master 合并时遇到冲突错误,因为它们不同步。
有什么方法可以简单地重置所有内容,以便我可以将 dev 与 master 合并?
Dev 是正确的,我很高兴 Overwrite master 但如果可能的话,不想通过 mergetool 解决所有冲突。
听起来您想清除 master 并更改 master 以匹配您的 dev 分支。如果是这种情况,这将起作用(警告任何不在 dev 上的更改都将消失):
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
取决于你的目标是什么,有两种选择:
git checkout dev
git merge -s ours master
它将合并的结果完全保留为dev
,实际上,它只是标记master
为的父级,dev
但dev
在源代码级别不执行任何操作。
或者
git checkout dev
git merge -X ours master
dev
它像往常一样进行合并,但如果存在冲突,它会自动使用该片段。这意味着,如果master
引入的东西与 冲突dev
,它更喜欢dev
,但与那些不冲突的东西,它会将它们包含在合并结果中。