git强制覆盖master分支
在开发中,通常会保持两个分支master分支和develop分支,但是如果因为develop上面迭代太多而没有及时维护master,最后想丢弃master而直接将测试确认过的develop强推到master,该怎么操作呢?
网上搜了一下,但是真正自己使用起来却又暴露出各种问题。因此,做如下总结分享,希望对遇到同样问题的人用帮助。
场景一:master下有a.txt文件,develop下有a.txt(和master保持一致),b.txt文件(追加文件),c/c.txt文件(追加文件夹和文件)。
场景二:master下有a.txt文件,develop下有a.txt(追加自己内容),b.txt文件(追加文件),c/c.txt文件(追加文件夹和文件)。
场景三:master下有a.txt文件(追加自己内容),develop下有a.txt(追加自己内容),b.txt文件(追加文件),c/c.txt文件(追加文件夹和文件)。其中master的a.txt和develop的a.txt不存在竞合。
场景四:master下有a.txt文件(追加自己内容),develop下有a.txt(追加自己内容),b.txt文件(追加文件),c/c.txt文件(追加文件夹和文件)。其中master的a.txt和develop的a.txt存在竞合。
网上查找了一个操作步骤,如下:
1. 切换到develop分支下,并保证本地已经同步了远端develop的最新代码
git checkout develop
git pull
2. 把本地的develop分支强制(-f)推送到远端master
git push origin develop:master -f
3. 切换到旧分支master
git checkout master
4. 下载远程仓库最新内容,不做合并
git fetch --all
5. 把HEAD指向master最新版本
git reset --hard origin/master
再执行上面的场景三和场景四,顺利执行完,切换到sourcetree上面,也不会再提示有竞合需要手动merge的操作,也没有需要你push和pull的东西,完美。
分析上面的操作,虽然核心操作是步骤2,因为经过步骤2,远端的master已经被你用develop强制替换了,目的是达到了,你完全可以在本地另起一个路径再clone一份master进行管理。
但是,在经过了改良后的操作后,你完全可以不丢弃已经使用很习惯了的路径,何乐而不为呢。再说改良后的修正点核心思想:就是获取远端的GitHub文件信息,而不做合并,然后直接丢弃本地旧的代码,直接获取远端分支的代码覆盖到本地,OK,问题解决,希望对大家有用。
转载:git强制覆盖master分支
git强制覆盖master分支相关推荐
- git强行覆盖master分支
目录 我遇到的场景 需要注意的预备操作 操作步骤 我遇到的场景 1.master分支只为护较早的版本 2.由于业务不稳定,新业务和功能都在dev 分支上,dev的开发周期很长,一直变更迭代 3.从de ...
- git强制覆盖分支代码 A branch -- B branch
在开发中,通常会保持两个分支test分支和develop分支,但是如果因为develop上面迭代太多而没有及时维护master,最后想丢弃master而直接将测试确认过的develop强推到maste ...
- git 回退远端master分支版本
情景:脑残将自己分支上的内容合并到了master上面 需求: 将master分支还原到原来的版本. 方法: 1. 切换分支到master git checkout master 确认是否正确切换到了 ...
- 【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库
[Gitlab]GIT回滚master分支到指定tag版本 并提交远程仓库 1 查看分支 git branch 2 切换到master分支 git checkout master 3 查看标签 git ...
- Git - 强制覆盖本地代码[与远程仓库保持一致]
1.应用场景 主要用于强制本地仓库与远程仓库保持一致. 比如: 本地某个仓库将代码回滚,然后强制推到 [git push -f] 远程仓库. //不推荐这种方式 另外一个仓库需要跟远程仓库保持一致. ...
- git merge覆盖当前分支
git merge覆盖当前分支 有这么一种场景,我们需要merge某个feature分支到master分支,且希望合并后master分支与feature分支的内容完全一致. 当feature分支与ma ...
- VS2013中使用git发布解决方案master分支的时候出现错误
VS2013中使用git发布解决方案master分支的时候出现错误 参考文章: (1)VS2013中使用git发布解决方案master分支的时候出现错误 (2)https://www.cnblogs. ...
- git 如何把master分支代码合并到自己的分支
git 如何把master分支代码合并到自己的分支 master分支的代码领先自己的分支,git 如何把master分支代码合并到自己的分支 1.首先切换到主分支 git checkout maste ...
- git 如何把master分支代码复制到自己的分支
git 如何把master分支代码合并到自己的分支 1.先切换到主分支(master) git checkout master 2.拉取远程仓库的代码 git pull 3.切换到需要合并的分支 gi ...
最新文章
- Linux下三大最佳的开源视频播放器
- python设计一个学生类求最高分_设计一个学生类班级类
- c语言无效参数视为严重错误,C语言编译错误:错误:‘-’参数类型无效(有‘int’)...
- (算法)Word Break
- 如何自己亲手制作一个防疫地图?
- dbgrideh的功能
- python可以处理的文件类型_Python学习笔记之数据类型与文件处理
- python怎么让py里面逐行运行_[python]开发环境bug(求助)
- linux内核编译选项ccl,嵌入式Linux学习笔记(一)
- java子线程切换到主线程_Android子线程切换到UI线程方法总结
- 记一次被自己DDOS攻击
- pytorch加载模型报错RuntimeError: Error(s) in loading state_dict for ResNet:Missing key(s) in stat
- ASCII码对照表(emoji表情符号)
- 【项目管理案例】第九期:如何做好项目整合管理
- 【卷积神经网络】感受野
- 消息称暴雪代理谈判进入第二阶段,与四家中国代理商谈判
- C. 实验7-2-7 方阵循环右移
- Win7、Win8、Win10系统USB-Blaster驱动程序无法安装的解决办法
- 到底什么是幸存者偏差?有哪些例子?
- 温州大学c语言期末试卷,2016年温州大学物理与电子信息工程学院综合卷之C语言程序设计复试笔试最后押题五套卷...