Git - 强制替换覆盖 master 分支解决方案

问题描述

在版本迭代中,通常会保持一个主分支 master,及多个 dev 分支,但是因为 dev 分支的开发周期过长,迭代太多而没有及时维护 master ,导致后来发版上线的大部分代码都在 dev 分支上,如果将代码在 master 分支合并会导致很多冲突,最后想丢弃原始 master 分支上的代码,直接将已经测试确认过的 dev 分支强行覆盖到 master 上,并且保留前期的开发提交 git 记录,该如何操作呢?

解决方案

1、关闭 git 仓库的 master 分支保护

setting => repository => protectd branch => master(unprotected)

2、切换到 dev 分支,并拉取远程 dev 分支最新代码

bash 复制代码
git checkout dev

git pull origin dev

3、将当前 dev 分支强行推送到远程 master 主分支进行覆盖

bash 复制代码
git push origin dev:master -f

4、把 head 指向 master 最新版本

bash 复制代码
git reset --hard origin/master

5、在 git 仓库中将 master 分支重新进行保护

  • 此时回到 git 仓库去看 master 分支的代码和 dev 分支的代码就完全一样了
相关推荐
小哈龙17 分钟前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
我是哪吒32 分钟前
分布式微服务系统架构第155集:JavaPlus技术文档平台日更-Java线程池实现原理
后端·面试·github
DeepSeek-大模型系统教程9 小时前
推荐 7 个本周 yyds 的 GitHub 项目。
人工智能·ai·语言模型·大模型·github·ai大模型·大模型学习
GISer_Jing10 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
ai小鬼头12 小时前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
高山莫衣15 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁15 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_16 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记16 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
不午睡的探索者20 小时前
告别性能瓶颈!Python 量化工程师,进击 C++ 高性能量化交易的“必修课”!
c++·github