美文网首页
2018-08-12 GIT学习之分支玩炸篇

2018-08-12 GIT学习之分支玩炸篇

作者: 追梦的汪星人哟 | 来源:发表于2018-08-12 15:19 被阅读2次

前几天放放做了一个让人崩溃的操作。
放放的公司的项目有两个主要的分支一个是master,一个主分支面向生产环境,一个dev面向开发和测试环境,一旦有人发布功能都会合dev分支,里面包含三种类型的代码,废弃代码,正在开发的功能代码,已经开发完的要发布的代码。

第一天:

放放一直以为的发布流程是自己从dev拉分支进行开发,然后发dev进行测试,最后dev发master上线。
实际的流程确实从master拉分支开发,然后合dev测试,最后自己分支合master上线。
第一天:
放放功能写完了,想合一下dev,到时候让大佬们直接dev合master放放就没事情了。于是做了下面这个操作

feature-charge#  git merge dev

出现了13000多处修改和151个新增文件,放放懵逼了什么鬼???
我就该了十几个文件,为啥成这个样子???

放放一脸懵逼的继续merge解决冲突,合并了几个小时之后,终于弄完了。想着第二天就可以发布了。

第二天:

烬哥哥说放放提个mr到master,放放说不是dev发master吗?
???烬哥哥说提你的分支合master。
放放要把他的feature-charge分支合并到master分支上,结果merge request请求都提不了,放放感到无力,what?

文件修改数目过多,页面上处理不了,必须手动解决。

行吧,线下手动,解决了3个小时,越来越接近发布时间。MR交给烬哥哥,烬哥哥说放放你的分支,现在包含了没有正在开发功能的代码,和要发布的代码,还有废弃的代码,如果直接合并到master会造成主分支的污染,肯定是不行的。

放放很懵逼,合了三个多小时,结果一句不行。烬哥哥说道,你还记得哪几次提交是你的,放放在commit的时候提示信息给的不是很明确,而且混合了两个功能的代码,只能回答记得不清楚了。那只能diff了,重新拉取一个分支,然后diff你当前的分支来处理。

放放通过以前的记忆,一个类一个类的diff,diff了一个小时终于完成了。放放心理感觉,再也不瞎合分支了,要给自己的commit做好提示,凡事留一线,想好退路,且多想一步。

烬哥哥说:放放还得多学习。其实当时你面对这么那么多类的变动,完全不应该一条一条的修改,太耗时间了。更简单的方法是,进行reset代码,回到你merge dev 之前的代码,然后进行cherry pick,拼接你修改的几个commit就可以了,这样既迅速有快捷,高效做事,结果导向。

放放总结:
A: 如何避免自己功能分支爆炸?
Q: 如果发测试,在dev分支上merge自己分支的代码。这样自己的分支就不会污染。
A: 如何解决分支爆炸问题?
Q: 如果误merge,可以使用git reset --merge还原这次合并。
Q: 从干净的master分支上拉分支,和自己的功能分支diff。
A: 发布如何做代码回滚?
Q:标准方式,每次发布打tag,出现大问题,直接回滚版本,再发布。

相关文章

  • 2018-08-12 GIT学习之分支玩炸篇

    前几天放放做了一个让人崩溃的操作。放放的公司的项目有两个主要的分支一个是master,一个主分支面向生产环境,一个...

  • git资源学习

    git资源学习 Git详解之一 Git起步 Git详解之二 Git基础 Git详解之三 Git分支 Git详解之四...

  • git 学习记录(命令)

    git学习记录 分支篇 仓库 分支合并 stash 默认情况下,git stash会缓存下列文件:添加到暂存区的修...

  • git命令学习之clone指定分支代码

    git命令学习之clone指定分支代码 今天要拉取一个项目,但是是一个指定分支,本来我以为直接git clone就...

  • Git操作之合并其他分支到主分支

    Git操作之合并其他分支到主分支 首先切换到主分支git checkout master 将其他分支的代码合并到主...

  • Git 学习笔记(分支篇)

    查看分支信息 git branchgit branch 命令会列出所有分支,当前分支前面会标一个*号,效果如下所示...

  • git常用命令

    分支管理 git 切换分支 git 查看远程分支 git 查看本地分支 git 创建本地分支 git 删除本地分支...

  • Git 快速使用

    MENU Git 快速使用 之 配置并获取SSH公钥Git 快速使用 之 Git 分支 branchGit 快速使...

  • git常用命令

    (转载)学习 git 常用命令 基本命令 查看命令 合并分支 远程分支 Git主分支的名字,默认叫做Master。...

  • git 代码合并

    上一篇传送门:git 分支管理在Git中,git merge和git rebase都是用来将一个分支的修改并入另一...

网友评论

      本文标题:2018-08-12 GIT学习之分支玩炸篇

      本文链接:https://www.haomeiwen.com/subject/bzusbftx.html