git强制覆盖master分支新手入门_git小白帮助

在开发中,通常会保持两个分支master分支和develop分支,但是如果因为develop上面迭代太多而没有及时维护master,最后想丢弃master而直接将测试确认过的develop强推到master,该怎么操作呢?网上搜了一下,但是真正自己使用起来却又暴露出各种问题。因此,做如下总结分享,希望对遇到同样问题的人用帮助。场景一:master下有a.tx

git强制覆盖master分支新手入门

在开发中,通常会保持两个分支master分支和develop分支,但是如果因为develop上面迭代太多而没有及时维护master,最后想丢弃master而直接将测试确认过的develop强推到master,该怎么操作呢?

git强制覆盖master分支新手入门_git小白帮助

网上搜了一下,但是真正自己使用起来却又暴露出各种问题。因此,做如下总结分享,希望对遇到同样问题的人用帮助。

网上查找了一个操作步骤,如下:

1.切换到develop分支下,并保证本地已经同步了远端develop的最新代码

git checkout develop
git pull

2.把本地的develop分支强制(-f)推送到远端master。

git push origin develop:master -f

3.切换到旧分支master。

git checkout master

4.将本地的旧分支master重置成最新的develop分支。

git reset --hard develop

5.再推送到远端仓库。

git push origin master --force<br>

或使用下面的命令,将当前分支推送到远程的同名分支。

git push origin HEAD

针对上面的步骤,如果你使用的sourcetree管理的GitHub代码,恭喜你,你成功中招了,场景一和场景二在没有修改同一个文件的情况下,上面的五部曲一点问题没有。但是,凡是就怕但是。

如果你对同一个文件进行过维护而导致差异,即便不是同一个代码,都会导致问题产生。分析后发现,问题点主要在步骤4上面,当本地的旧分支master的a.txt文件与最新的远端分支master的a.txt有冲突,需要你手动去判断需要merge操作。

这在很少的文件与很少的修改点的情况下,可能你还很好判断,但是如果文件数量庞大,且修改点因时间久远忘记了的情况下,可能我就只能说呵呵了。这也就没有达到标题所说的强制合并的效果。

在知道了上面问题的症结后,我将上面的步骤做了修正,如下:

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,问题解决,希望对大家有用。

海计划公众号
(0)
上一篇 2020/04/03 19:30
下一篇 2020/04/03 19:30

您可能感兴趣的内容

  • 原生js实现复制内容到剪切板,兼容pc、移动端(支持Safari浏览器)基础指南_复制入门百科

    在开发中经常会遇到这样的需求,第一种就是点击复制当前页面的链接,第二种就是类似卡券的功能,需要复制密码等等。在网上看到有很多该功能的实现代码,除了插件clipboard.js、ZeroClipboar兼容性较好以外,其他大部分在safari,ios上的微信端这些并不兼容。那么在不使用插件的情况下,为大家整理了一份较为兼容的实现方式:纯js实现复制文本并提示复

    2020/03/20
  • Cf-ui使用指南Cloudflare 开发的一个 Web UI 框架。

    Cf-ui基础入门 官方网址:https://cloudflare.github.io/cf-ui/ 简介描述:Cloudflare 开发的一个 Web UI 框架。 cf-ui …

    2020/03/05
  • 什么时候不使用箭头函数?新手入门_箭头函数菜鸟教程

    这些年来,ES6 将 JS 的可用性提升到一个新的水平时: 箭头函数、类等等,这些都很棒。箭头函数是最有价值的新功能之一,有很多好文章描述了它的上下文透明性和简短的语法。但每个事务都有两面。通常,新特性会带来一些混乱,其中之一就是箭头函数被误导了。本文将介绍一些场景,在这些场景中,你应该绕过箭头函数,转而使用良好的旧函数表达式或较新的简写语法。并且要注意缩短

    2020/03/29
  • js查找和筛选的几种方式基础指南_函数教程视频

    find();find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。find() 方法为数组中的每个元素都调用一次函数执行:当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。如果没有符合条件的元素返回 undefined注意: find() 对于空数组,函数是不会执行的。注意: fin

    2020/03/22
  • 图标使用新姿势- react 按需引用 svg 的实现入门指南_图标使用攻略

    前言图标是前端在业务开发中不得不写的一个东西,以我司的几个部门为例,每个组在写图标上都有不一样的方式:用户平台:单色图标用 iconfont 上提供的字体文件,彩色图标用 img 引入代替或者使用iconfont 上提供的 symbol.js 。saas:引入 svg 文件,通过 react-svg-loader 将其包裹成一个 react 组件使用。到店购

    2020/03/29
  • Immutable.js菜鸟知识_用于保证数据的不可变的js库

    Immutable.js入门教程 官方网址:http://facebook.github.io/immutable-js/ GitHub:https://github.com/fa…

    2020/03/06
  • intoDNS小白知识_在线DNS状态检测工具

    intoDNS小白知识 官方网址:https://intodns.com/ 简介描述:在线DNS状态检测工具 “intoDNS”是一个免费检测网站域名服务器的DNS设置是否正确和监…

    2020/03/11
  • Elemental UI菜鸟知识一个针对 React.js 的灵活的、漂亮的 UI 框架

    Elemental UI基础入门 官方网址:http://elemental-ui.com/ GitHub:https://github.com/elementalui/eleme…

    2020/03/05
  • js的类型菜鸟教程_类型入门知识

    基本类型按值访问,可以操作保存在变量中实际的值基本类型存在栈内存当基本类型调用对象的方法时,不会起效,底层会有一个叫包装对象酷炫操作,效果是…不报错引用类型复制:操作的是对象的引用添加属性:操作的是实际的对象引用类型数据存在堆内存,而引用存在栈区,也就是说引用类型同时保存在栈区和堆区引用类型的比较是比较引用==的类型转换关于==的执行机制,ECMASri

    2020/04/05
  • 小书匠基础入门_基于Markdown写作编辑器

    小书匠基础入门 官方网址:http://www.xiaoshujiang.com/ 简介描述:基于Markdown写作编辑器 《小书匠》是一款功能丰富且简单易用的支持Markdow…

    2020/03/11
  • 同城约会使用帮助用最真实的自己,遇见最适合的那个人_约会使用帮助

    每当夜深人静一个人孤独的难以入眠时,每当逛街看到情侣们手牵手时,每当遇到问题一个人独自面对时,你可曾想过找个另一半来与你同甘共苦,分享生活喜怒哀乐?当你想要找个人倾诉情感时而又无人可说,当你想找个男女朋友而又没有合适的对象时,你是否感到压抑与无赖?社交软件上的小姐姐们,点击下载人与人沟通的比率非常小两个陌生的人能够遇见就是十几万之一倘若能说上一句话将是几十万

    2020/03/22
  • CSS3的过渡效果,使用transition实现鼠标移入/移出效果指南攻略_效果菜鸟教程下载

    在css中使用伪类虽然实现了样式的改变,但由于没有过渡效果会显得很生硬。以前如果要实现过渡,就需要借助第三方的js框架来实现。现在只需要使用CSS3的过渡(transition)功能,就可以从一组样式平滑的切换到另一组样式。(1)背景色过渡变化下面鼠标移入后,按钮背景色会慢慢地变成黄色。鼠标离开,过渡效果又会发生,颜色恢复到初始状态。hangge.com<s

    2020/04/05
  • Xiuno BBS小白攻略_一款轻论坛产品

    Xiuno BBS小白攻略 官方网址:http://www.xiuno.com/ 简介描述:一款轻论坛产品 Xiuno BBS 4.0 是一款轻论坛产品 前端基于 BootStra…

    2020/03/06
  • js将滚动条scrollbar保持在最顶/底部入门基础教程_滚动菜鸟攻略

    场景在某些场景中,我们通常会遇到需要将滚动条保持在顶/底部比如:在线客服聊天对话中,始终让聊天对话框保持在最底部使得能一直看到最新的聊天记录某些后台管理页面,新建了项目,需要在左边的list里刷新显示,同时使得最新的记录显示在最上方。方案话不多说上代码:var ele = document.getElementById(‘scroll_div’)
    ele.s

    2020/04/03
  • css3中计数器的使用基础指南_css3基础入门

    css3里有个很强大的功能,就是计算器,使用它可以很方便对页面中的任意元素进行计数,实现类似于有序列表的功能。与有序列表相比,突出特性在于可以对任意元素计数,同时实现个性化计数。简而言之,计数器就是采用css给html元素自动生成编号。其本质上是由CSS维护的变量,其值可以通过CSS规则递增以跟踪它们的使用次数。 一、css计数器相关属性:1.counter

    2020/04/03
  • 如何实现 lodash.get 函数及可选链操作简化取值指南攻略_函数入门基础

    本篇文章简介 lodash.get 函数的实现以及可替代的可选链操作,源于我自己的仓库 面试每日一题,其中记录了关于前端进阶及工程化的各种问题。心灵鸡汤之所以被抵制就是因为只有鸡汤没有勺子,别人也开始问我的仓库有没有答案了。因此我将写一大堆文章来捎带回答这些问题 —- 如果有时间的话。最近整理了我的 github 中的博客,山月的博客 欢迎订阅lodas

    2020/03/20