git强行覆盖master分支

当master分支用于维护较旧版本,且test分支合并时遇到冲突,可以考虑将dev分支覆盖到master。操作前确保备份,并解除master的保护状态,之后重新保护master分支,防止权限错误。
摘要由CSDN通过智能技术生成

我遇到的场景
1、master分支只为护较早的版本,不同分支开发导致test合并到master的时候出现冲突,但是dev已经合并到test,test是要发布线上的
鉴于这种情况,干脆直接把dev覆盖到master上。

需要注意的预备操作
当然,做这种操作还需要考虑安全问题,因此要谨慎操作一定要把完整数据的分支备份好。
一般情况下,master分支是受保护的,没有权限的人员是不能随便合并分支,更不可能随随便便把它给覆盖了。
所以第一步是到项目仓库配置里先关闭受保护的master分支
Settings -> Repository -> Protected Branches ->Expand ->master 【Unprotected】

覆盖后要重新将master保护起来

在这里插入图片描述

否则会因为没有权限而报错

操作步骤

1、可以在一个新文件夹里把工程克隆下来
假设 你远端有一个master 分支 有一个 dev分支
git clone -b dev repositoryUrl 
git pull
2、把本地的dev 分支强制推送到远端 master
git push origin dev:master -f
3、切换到旧分支master
git checkout master
4、下载远程仓库最新内容,不合并
git fetch --all
5、把HEAD指向master最新版本
git reset --hard origin/master

可参考文章 https://www.cnblogs.com/wjw-blog/p/11112834.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值