git强行覆盖master分支
我遇到的场景
1、master分支只为护较早的版本
2、由于业务不稳定,新业务和功能都在dev 分支上,dev的开发周期很长,一直变更迭代
3、从dev 分支切出来的小分支都先合并到的了dev,master分支很少合并。这就造成后来发版本大部分代码都在dev上,dev分支上目录解构和工程中的配置和master分支相比都有很大改变。
4、dev分支打的包已经上了生产。
鉴于这种情况,干脆直接把dev覆盖到master上。
需要注意的预备操作
当然,做这种操作还需要考虑安全问题和其他同事的建议。确保大家口径统一。
一般情况下,master分支是受保护的,没有权限的人员是不能随便合并分支,更不可能随随便便把它给覆盖了。
所以第一步是到仓库配置里先把受保护关闭
setting -> repository -> Protected Branches ->master 【unprotected】
记得覆盖完后要重新将master保护起来
记得覆盖完后要重新将master保护起来
记得覆盖完后要重新将master保护起来
不然会因为没有权限而报错
Total 0 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To http://gitlab.pab.com.cn/xxx.git
! [remote rejected] dev -> master (pre-receive hook declined)
error: failed to push some refs to 'http://gitlab.pab.com.cn/xxx.git'
操作步骤
1、可以在一个新文件夹里把工程克隆下来
假设 你远端有一个master 分支 有一个 dev分支
git clone -b dev yourRepositoryUrl
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
git强行覆盖master分支的更多相关文章
- Git强制覆盖master分支
在开发中,通常会保持两个分支master分支和develop分支,但是如果因为develop上面迭代太多而没有及时维护master,最后想丢弃master而直接将测试确认过的develop强推到mas ...
- dev分支代码覆盖master分支代码
将develop分支上的代码完全覆盖master分支, 1. 切换到master分支 git checkout master 2. 执行以下命令 git reset --hard origin/dev ...
- VS2013中使用git发布解决方案master分支的时候出现错误
VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master ...
- git 如何把master分支代码合并到自己的分支
master分支的代码领先自己的分支,git 如何把master分支代码合并到自己的分支 1.首先切换到主分支 git checkout master 2.使用git pull 把领先的主分支代码pu ...
- GIT回滚master分支到指定tag版本
master版本上线以后一般要打一个tag备份,以防事态有变,这是一个好习惯,如果以后有问题也可以放心的回滚版本,那么怎么用tag版本覆盖mastaer呢,其实只有几个命令 1.查看分支 git br ...
- centos下安装最新版本git(通过master分支下载最新版)
centos6.7下安装最新版本git 本文参考:http://www.01happy.com/centos-install-latest-git/ 按照原博主所提供的思路安装可能会出现下列问题 解决 ...
- 如何删掉git版本库master分支的第一个commit
这个操作会将库清空,一般来说在建库开始的时候操作. 适用场景: git init初始化版本库之后,提交第一个点之后发现这个点出问题了,但是此时内心如果有洁癖的话, 你会觉得不完美,很想把这个点干掉重来 ...
- git 删除远程master 分支
➜ fekit-extension-yo git:(dev) git push origin :master remote: error: By default, deleting the curr ...
- git 同步非master分支
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致: 建立本地分支和远程分支的关联,使用gi ...
随机推荐
- 2.学习Application
2学习Application Application对象事件 名称 说明 Activated 当应用程序成为前台应用程序时触发 Deactivated 当应用程序不再是前台应用程序时触发 Dispat ...
- for XML path 使用技巧
FOR XML PATH 是sqlserver数据库的语法,能将查询出的数据转换成xml格式的数据. 首先,我们来看一个正常的查询: SELECT TOP 2 id, name,crDate FROM ...
- python socket使用
自学python,先在菜鸟教程网自学,然后买了本书看.又从同事那里淘到了某个培训学校python教学视频,查缺补漏.视频是用python3.0讲的,讲解的很不错,中间有让写作业,这个我很喜欢.这几天看 ...
- Tableau Dashboard
Dashboard仪表盘,用来展示多个图表,并展示之间的联动,分析数据.
- 安装 mysql odbc连接器
下载地址: https://dev.mysql.com/downloads/connector/odbc/ 可以选择旧版本的下载 一. 配置数据源 1. 安装后如果找不到软件可以按 win键 后 输 ...
- 【react学习一】首先先create-react-app 配置less、sass
1.安装初始化 npm create-react-app react-demo 2.安装初始化 npm run eject 3.配置sass / less cnpm i sass-loader nod ...
- LAMP 系统性能调优之网络文件系统调优
LAMP 系统性能调优之网络文件系统调优 2011-03-21 09:35 Sean A. Walberg 网络转载 字号:T | T 使用LAMP系统的用户,都想把自己LAMP性能提高运行的速度提高 ...
- 对Canvas的研究
1.标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形. 什么是 canvas? HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. ...
- 23.二叉搜索树的后序遍历(python)
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 这道题特别傻的地方: 当输入sequence为空时 ...
- postman+newman+jenkins 接口自动化
一:Jenkins安装: jenkins是一款跨平台的持续集成和持续交付.基于Java开发的开源软件,提供任务构建.持续集成监控的功能,可以使开发测试人员更方便的构建软件项目, 我安装是安装程序模式, ...