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 分支的代码就完全一样了
相关推荐
YuePeng1 小时前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai1 小时前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github
徐小夕3 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
齐翊5 小时前
分享一个在 Claude Code 里 [同时] 用多个 ApiKey 的方法
程序员·github·agent
A_Lonely_Cat6 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
极光技术熊1 天前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
用户39483951075531 天前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
远航_1 天前
git submodule
前端·后端·github
fthux1 天前
如果你用 Mac,那你可能需要 Noti Shift
macos·开源·github
程序员天天困2 天前
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
github