如何在不修复冲突的情况下更新Master分支?

时间:2018-01-21 14:02:06

标签: git

我有两个分支devmaster

我正在使用dev分支,我没有将dev合并到master

不推荐使用master代码。

我想更新master,我想将我的新代码合并到master分支。但我不想修复冲突,我只是想替换所有旧代码' master'分支到dev分支的新代码。

P.S。我想删除master分支并创建新的master分支,代码为' dev'分支,但在我的情况下是不可能的。因为我收到了这个错误:

  

[远程拒绝]主人(禁止删除当前分支)

谢谢

1 个答案:

答案 0 :(得分:1)

将所有差异压缩到master中的一个新提交中:

git checkout master
# master now points to the same commit and files as dev
git reset --hard dev
#the diff between dev & origin/master will now be in uncommitted files
git reset --soft origin/master
#commit the diff
git commit -m "Commit message that combines whatever was merged"

如果您有权限,也可以强制推送(完全覆盖master):

git push -f origin dev:refs/heads/master

或者您可以先删除master分支然后再创建它(如果您有权限):

git push origin :master
git push origin dev:refs/heads/master

最后两个选项是不安全,因为如果有人已经拔掉了主人,他们会导致混淆。