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 分支的代码就完全一样了
相关推荐
fthux1 小时前
装闭 RenoPit 源码解析(06):SSE如何实时推送AI装修分析进度
人工智能·ai·开源·github·open source·renopit
是烨笙啊3 小时前
拯救 GitHub stars 体验:从 Agent Skill 到浏览器插件
github
小弥儿4 小时前
GitHub今日热榜 | 2026-08-11:图原生基础设施首日登顶
学习·开源·github
码流怪侠5 小时前
用 WiFi 信号数人头:howmanypeoplearearound 项目深度解析
后端·开源·github
大强同学7 小时前
零成本部署0penList,三步搞定,我一分钱没花!
github
郝亚军7 小时前
gitlab常用命令
gitlab
IT摆渡者11 小时前
VM EXSI7.0存储硬盘故障处理
大数据·linux·github
Narrastory12 小时前
我用 Claude Code 写代码不到 2 小时,却花了 3 天做完这个软件—Vibe Coding 的正确姿势,是设计不是生成
前端·人工智能·github
AI Dog12 小时前
GitHub 项目整体替换与大文件处理指南
github
March.s12 小时前
Nginx 服务器反向代理实战指南
服务器·nginx·github