gitlab 删除分支_gitlab 中强制覆盖 master 分支

在进行大型重构时,创建了dev分支并将重构和迭代的代码放入其中。同时,为了修复老版本bug,在master分支上做了修改,导致两个分支产生大量分叉。为避免解决冲突的麻烦,可以通过临时解除master保护,备份master为master-bak,删除远程master,将dev重命名为新的master并推送,最后恢复master的保护来解决。
摘要由CSDN通过智能技术生成

bca8c750750a6ce5019bc957d18549bf.png

引子

开发项目是有个大的重构,于是重新建了一个 dev 分支,之后将重构以及迭代的代码放在了 dev 分支上。但是在重构期间为了 hotfix 一些老版本的 bug,在 master 上做了一些修改。如此一来 master 和 dev 产生了大的分叉。由于开发者就两个,并且我太懒,不想将 dev merge 回去解决大量冲突。

于是乎,该怎么覆盖呢?

作者:青藤木鸟 Muniao's blog 转载请注明出处

解决

在 Stack Overflow 上搜索一番得到如下命令:

# rename master on local
git push origin :master            

但是在第二步 git push origin :master 会报错 :

[remote rejected

原因在于对 gitlab 对于默认分支 master 有保护。只需要在 gitlab 页面左侧边栏:Settings->Repository->Protected Branches 中将 master 的保护暂时去掉,改完后加回来就行。

d6c675d865244541edeb5c5bbbc3e67f.png

小结

总结来说,就是:

  1. 在 gitlab web 配置页面中去掉 gitlab 中对 default 分支的保护。
  2. 备份 master 为 master-bak 并推送到远程仓库。
  3. 删除远程 master,在本地复制 dev 为新的 master 分支,然后将其推送到远程仓库。
  4. 在 gitlab 中配置页面中将 master 保护加回来。

47bced78896ffe7744a1f3c484e566c8.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值