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 分支的代码就完全一样了
相关推荐
淡淡的id2 小时前
git的功能分支的base分支错了怎么重新提交
git
云攀登者-望正茂3 小时前
Jenkins 多分支流水线: 如何创建用于 Jenkins 状态检查的 GitHub 应用
云原生·github·jenkins
qianmoQ3 小时前
GitHub 趋势日报 (2025年04月20日)
github
Ever_Zhang4 小时前
Git 大文件使用 Git-LFS 管理,推送失败
git·git lfs·gitattributes·git 推送大文件
-曾牛5 小时前
Git Flow
大数据·git·学习·elasticsearch·个人开发
Zfox_6 小时前
Git 进阶之路:高效协作之分支管理
大数据·linux·运维·c++·git·elasticsearch
小生不才yz6 小时前
23. git reset
git
西瓜本瓜@6 小时前
在 Android 中实现通话录音
android·java·开发语言·学习·github·android-studio
码流怪侠7 小时前
🚀 2025年 GitHub 暴涨 star 热门项目 🔥【持续更新】
程序员·github
码农小站7 小时前
开发手记 | IDEA代码Push后回退
git