场景

由于公司的项目中,有一个开发分支(这里假设dev​)是一个严重偏离master​,需要我去强制覆盖master​。

问题

这个场景带来了两个问题:

  1. master​是受保护不能强推
  2. dev​分支是一个严重偏离master​的分支,无办法先合并到master​再正常推送,因为会有大量的冲突

解决

虽然无法合并进入master​,但是这个开发分支是可以直接覆盖远程的master​的。经过调研,这里记录下解决步骤:

1. 解开master分支的保护

以gitlab为例,默认是不允许对master分支强推的,所以我们在开始前先对master分支暂停保护。



2. 执行命令

// 备份master
git checkout master
git checkout -b master-backup // 重置并强推master(强推前解开master的保护)
git checkout dev
git checkout master
git reset --hard dev
git push -f

git reset --hard branch //可以重置到指定分支的最新提交记录上

Git强制覆盖master的更多相关文章

  1. Git强制覆盖master分支

    在开发中,通常会保持两个分支master分支和develop分支,但是如果因为develop上面迭代太多而没有及时维护master,最后想丢弃master而直接将测试确认过的develop强推到mas ...

  2. git 强制覆盖分支

    假设要用develop覆盖master分支,如下操作 git checkout master git reset --hard develop //先将本地的master分支重置成develop gi ...

  3. git 强制覆盖,分支合并

    强制合并 git fetch --all && git reset --hard origin/master && git pull 合并代码 git commit - ...

  4. git强行覆盖master分支

    目录 我遇到的场景 需要注意的预备操作 操作步骤 我遇到的场景 1.master分支只为护较早的版本 2.由于业务不稳定,新业务和功能都在dev 分支上,dev的开发周期很长,一直变更迭代 3.从de ...

  5. git 强制覆盖本地

    git fetch --all git reset --hard origin/master git pull 参考:https://ruby-china.org/topics/2494

  6. git强制覆盖本地文件

    git fetch --all git reset --hard origin/master

  7. git 强制覆盖本地文件

    git fetch --all git reset --hard origin/master git pull

  8. git强制覆盖更新

    1.选择项目,右键选择Team,选择Team里面的Reset. 2.点击Reset后弹出Reset窗口,选择Hard选项,这样就会把远端的项目完全拉下来覆盖本地,本地没有的文件也会被创建,点击确定.

  9. 【git】强制覆盖本地代码(与git远程仓库保持一致)

    git强制覆盖:    git fetch --all    git reset --hard origin/master    git pull git强制覆盖本地命令(单条执行):    git ...

随机推荐

  1. POJ1734 Sightseeing trip (Floyd求最小环)

    学习了一下用Floyd求最小环,思路还是比较清晰的. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring ...

  2. 是什么让.NET7的Min和Max方法性能暴增了45倍?

    简介 在之前的一篇文章.NET性能系列文章一:.NET7的性能改进中我们聊到Linq中的Min()和Max()方法.NET7比.NET6有高达45倍的性能提升,当时Benchmark代码和结果如下所示 ...

  3. 二十一、Pod的存储之Secret

    Pod 的存储之Secret 一.Secret 存在意义 ​Secret 解决了密码.token.密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中.Secret 可以 ...

  4. iptables介绍和基本使用

    iptables 防火墙是什么 防火墙好比一堵真的墙,能够隔绝些什么,保护些什么. 防火墙的本义是指古代构筑和使用木制结构房屋的时候,为防止火灾的发生和蔓延,人们将坚固的石块堆砌在房屋周围作为屏障,这 ...

  5. Python基础部分:1、typora软件和对计算机的认识

    目录 一.typora软件 1.安装 2.markdown语法 二.计算机的本质 1.进制数 三.计算机五大组成部分概要 1.控制器 2.运算器 3.存储器 4.输入设备 5.输出设备 一.typor ...

  6. win10 优化

    禁用服务中的某些不用的服务 例如 SysMain 服务 win+R键开启运行快捷方式,输入services.msc: 找到SysMain这个服务: 选择这个服务后,右键属性: 点击停止:启动类型选择禁 ...

  7. Oracle:ORA-39006、ORA-39213解决办法

    执行Oracle数据库导入,遇到报错ORA-39006: internal error.ORA-39213: Metadata processing is not available.这还是第一次遇到 ...

  8. 【题解】CF1722F L-shapes

    题面传送门 其实这题根本不用搜索,有耐心即可. 可以发现,在 \(n\times m\) 范围内扫,可能合法的只有以下四种情况,其中蓝色代表示是 *,红色表示不能是 *,其中黄色五角星表示当前 \(i ...

  9. SpringBoot使用poi实现导出excel

    //实体类 //导出的数据的实体 public class User { private String id; private String name; private String year; // ...

  10. Day18.2:对象创建的内存分析图解

    对象创建的内存分析 我们从两块最常用的内存空间对对象创建进行内存分析 堆内存:存放的是对象的具体信息:在程序之中堆内存空间的开辟是通过new完成的 栈内存:存放的是对象的地址信息,即通过地址找到堆内存 ...