首页 > 其他分享 >Git强行替换覆盖master分支(转)

Git强行替换覆盖master分支(转)

时间:2023-05-23 11:37:04浏览次数:30  
标签:强行 origin git dev Git master 分支

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

注意事项:
考虑到安全问题,应提前和同事领导沟通方案。
一般情况下 master 分支是受保护分支,需要拥有该服务的 Maintainer 权限。

具体操作步骤
1、关闭 git 仓库的 master 分支保护
setting => repository => protectd branch => master 【unprotected】

 


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

git checkout dev
git pull origin dev

 

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

git push origin dev:master -f

 

4、把 head 指向 master 最新版本

git reset --hard origin/master

 

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

 

 

标签:强行,origin,git,dev,Git,master,分支
From: https://www.cnblogs.com/shenyixin/p/17422786.html

相关文章

  • vs git 分支缓存问题
    我们项目不停的开发,就会产生很多本地分支,但实际上git服务器上早就合并了,没有这么多分支,但VisualStudioGit分支本地一大堆,手动一个个删除太费时间。使用如下两条命令可以切换VisualStudioGit分支以git服务器上的分支为主,本地不做缓存。cmd或者gitbash直接执行gitconfig--g......
  • Git拉取代码报错:Can't Update No tracked branch configured for branch dev or the b
    错误: 解决方法:第一步:gitpullorigin(远程仓库名称)develop(远程分支名称)--allow-unrelated-histories第二步:gitbranch--set-upstream-toorigin(远程仓库名称)/develop(远程分支名称)dev(本地分支名称)显示如下则为成功,可正常拉取代码 ......
  • 代码修改的git命令提交过程
    首先,克隆远程仓库到本地:gitclone<remote_repository_url>进入本地仓库目录:cd<local_repository_directory>创建并切换到一个新分支:gitcheckout-b<new_branch_name>修改代码并保存更改。添加修改后的文件到暂存区:gitadd<file_name>提交更改到本......
  • 程序员的 Windows 工具箱「GitHub 热点速览」
    如何精简Windows并快速配置开发环境呢?本周特推的winutil是一个程序员的Windows工具箱,它提供了开发工具的一键安装以及减少系统垃圾的功能,一切为了简洁、高效。同样高效的还有C++日志库spdlog,快速构建React应用的refine,以及人脸分析库insightface。此外,你一定不能错......
  • github介绍
    背景介绍GitHub的背景可以追溯到2005年,当时TomPreston-Werner在博客上发表了一篇名为“Git是一个内部的版本控制系统”的文章,介绍了他们在开发RubyonRails时使用的版本控制系统Git。这篇文章引起了很多人的关注,也引发了一些讨论。2007年,TomPreston-Werner和ChrisWanstrath......
  • GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
    1.安装GitLab#下载地址https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/wgethttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpmrpm-ivhgitlab-ce-12.9.0-ce.0.el7.x86_64.rpmvim/etc/gitlab/gitlab.rbexterna......
  • Git 常用操作
    一、Git全局配置1.查看配置gitconfig-list2.修改配置gitconfig--globaluser.name"名称"gitconfig--globaluser.email"邮箱"二、获取本地仓库1.在本地初始化git仓库gitinit2.从远程仓库克隆:gitclone远程仓库地址三、常用命令......
  • 什么是 Git ?
    Git是一个 分布式 版本控制 工具主要用于管理开发过程中的源代码文件(Java类、xml类、html页面等),在软件开发过程中被广泛使用。   Git仓库介绍Git通过仓库管理文件,Git仓库分为本地仓库和远程仓库一个仓库管理一个项目,开发人员在本地完成负责的功能,完成......
  • Git 操作
    Git操作克隆仓库:gitclone<git地址>初始化仓库:将代码文件夹变为仓库,文件夹里会出现.git文件夹,不要删除,因为你的提交记录和版本控制都要靠这个文件夹,删除就变为普通文件夹了gitinit添加文件到暂存区:gitadd-A把暂存区的文件提交到仓库://提交到仓库"firstcommit"......
  • 如何把gitee拉取代码的方式从http变为ssh
    前言:因为我已经生成的ssh秘钥,但我每次拉取代码的时候还是需要输入密码。搜索资料发现,是拉取密码的方式还是http所以我把这个方式转换为ssh前提:已经生成了秘钥解决:1.查看连接方式:gitremote-v  2.改为sshgitremoteset-urlorigin《你自己的ssh的url》我......