我有两个分支dev
和master
。
我正在使用dev
分支,我没有将dev
合并到master
。
不推荐使用master
代码。
我想更新master,我想将我的新代码合并到master
分支。但我不想修复冲突,我只是想替换所有旧代码' master'分支到dev
分支的新代码。
P.S。我想删除master
分支并创建新的master
分支,代码为' dev'分支,但在我的情况下是不可能的。因为我收到了这个错误:
[远程拒绝]主人(禁止删除当前分支)
谢谢
答案 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
最后两个选项是不安全,因为如果有人已经拔掉了主人,他们会导致混淆。