在企业中git的使用流程,看完少挨骂哦~

一、在前东家的欢乐时光

回忆:在上一家公司,由于做的项目规模不大,公司的开发流程以及体系不是太完善,在写代码时就是想到哪写到哪,没有人管,非常的 be real 非常的野 ~ 写代码提交的话直接是提交到master分支(因为我们没有测试,我们就是测试~嘿嘿嘿),只要不是逻辑走不通的,就直接提交。线上出现问题了再去解决。舒服 ~

无形中我在git这个领域上挖了很多个坑…

continue…

二、到了新公司填Git的坑

在我入职的第一天,刚坐到工位上的那一刻,我就开始控制不住我内心的野,想写bug了\⊙_⊙/… 哦不,是代码!( ̄︶ ̄) 。*

1.第一次

我想着试试提交代码,然后我就在代码上随便加了几个空格,然后就自信满满的提交了,然后我问我旁边的同事,我说你看我搞的对吧。
同事一脸惊恐的表情,说:“你干嘛要提交到master分支上去!!!”
他嗓门比较大,主管就在我们工位的后面,主管闻声走路过来。
主管:“你改了代码提交了?”
我说:“额~是的”
主管:“你改了那些东西?”
我说:“没啥子,额~就四一些空格”
主管:“你不要直接提交代码到master分支,写代码要创建自己的分支!”
我…
在企业中git的使用流程,看完少挨骂哦~_第1张图片

2.第二次

有了上次的教训,我就不胡乱提交代码了。每次提交代码都需要要问一下同事是这样吗。
但是,事与愿违
周三,我在自己创建的分支写完一个功能的时候,准备提交,主管又给我分配了另一个新的需求。我一看,儿豁~这个功能好写啊,以我敲代码的速度,与敏捷的思维能力,我十分钟就搞定。在企业中git的使用流程,看完少挨骂哦~_第2张图片

结果我写到了下周一。。。

哇!!!新版本马上就测试了,我该怎么办?目前这个功能还没有写完,还没有测试。我问了我旁边的同事我现在咋办?
他没有听懂我的意识,直接把代码提交了,我就在旁边看着他…没敢出声。提交完毕后我说:“我…我这里面还有没有写完的功能的代码~”
同事:
在企业中git的使用流程,看完少挨骂哦~_第3张图片
他说没事儿,可以回滚,最后搞了半天花里胡哨的我也看不懂。最后非但没有搞好,我写的所有东西,都不见了!!!
他好像使用了

git reset --hard

我当时的心情…我想回家我想麻麻了~ 我想让时间回滚一下~ 呜呜呜

三、公司中git的使用(按照这个流程不会出错的)

如果看这篇文章的小伙伴们(让我看看谁和我一样蠢)也有同样经历的我表示同情(坏笑~)。

痛定思痛:
回到家我好好复习了一下关于git的使用,下面我以目前所在的公司为基准给大家展示一下,在公司中如何使用git,都是idea中的图形化界面,很好理解。只要你不做什么复杂的操作,在平常的工作中是完全够用的,希望其他小伙伴别步后尘!!!。

Shall we go ~

1.分支

我们公司使用的是GitLab编译工具是idea,在公司主要的分支有以下三个

  • master分支
    这个是生产环境(上线环境)。master上的代码是最正确的、最稳定的版本。
  • 测试分支(release)
    运维测试人员检测代码的分支(每个月有四个这个的测试分支,比如:19年5月第一周、19年5月第二周…)
  • 功能分支(feature)
    每个程序员写分配给自己的任务的功能分支。
  • bug分支(fixed)
    当某个程序员写的程序有bug,需要更改时创建的分支。

2.使用流程

2.1 接到任务在GitLab上创建自己的分支

当接收到一个任务,名称为:taskA,你需要到GitLab上创建一个这个功能的分支。
在创建分支之前,你必须要清楚的是,你的任务是属于哪个系统的(项目规模很大时会有很多系统),在GitLab上找到对应的系统 如下图:
在企业中git的使用流程,看完少挨骂哦~_第4张图片
找到对应的系统点击去,点击commit
在企业中git的使用流程,看完少挨骂哦~_第5张图片创建taskA任务的分支,分支的名称尽量和任务的名称保持一致,格式为:年月日+功能的名称,便于日后的查看与管理(如果你创建的分支名称和别人的相似,(坏笑)别人有可能会误删或者在你分支中写代码~)。如下图片所示:
在企业中git的使用流程,看完少挨骂哦~_第6张图片在企业中git的使用流程,看完少挨骂哦~_第7张图片

2.2 在idea编译工具中找到你创建的分支并切换

在idea中的右下角(分支切换的地方,这里以我的为准,如果不一样你们好好找找)找到你创建的任务分支,如下图所示:
在企业中git的使用流程,看完少挨骂哦~_第8张图片
在远程分支中寻找你刚刚创建的那个功能分支,如果没有找到需要update(这个update就是git的update)一下。找到后切换到创建的分支,如下图所示:
在企业中git的使用流程,看完少挨骂哦~_第9张图片
找到之后并切换。

2.3 切换后与远程的master分支合并一下

这里需要和master分支合并一下,注意:是先切换到你自己创建的分支,在与远程master分支合并,不要搞反了!。保证你和master分支上的代码的一致性,因为master里面的代码,个个都是精英,“放屁”又好听(坏笑~),操作如下图所示:
在企业中git的使用流程,看完少挨骂哦~_第10张图片到这里,创建分支的任务就完成啦。

2.4 开始写代码并提交

哈哈哈哈~ 终于到了用代码我展现我性格的时候了。现在我们就可以写自己的任务了,当你任务写完的时候你需要提交,(我一般在自己分支上,都是提交并推送的,也就是commit And push)点击idea工具右上角的commit按钮(如果没有,好好找找;还有一种方式就是:找到你项目的名称在idea左边的project目录里,点击右键—>git---->commit),操作如下图所示:
在企业中git的使用流程,看完少挨骂哦~_第11张图片
填上对提交内容的说明,你就可以提交了,我喜欢commit和push一起,简称cp~~。注意:你在提交的时候,一定要看看是不是你写的代码,有可能存在别人切换到你的分支了,在你的分支上写代码了。嚯~ 还会有这样的傻二蛋?

比如我就是~

进入提交界面如下图:其中commit message一定填写,否则提交不了,commit message它是对你提交内容的描述
在企业中git的使用流程,看完少挨骂哦~_第12张图片你提交后,在idea的右下角会有提示。注意查看!

2.5 找到测试(预发布)分支切换并 合并

下面你需要在切换分支的地方(上面提到了)找到测试分支(如果你们公司有测试分支的话)。找到之后,切换到测试分支,然后与你自己创建的分支进行合并。合并之后呢
目前你处于测试分支,然后再次点击push。你会发现,在push的列表中,会有你在自己分支上提交的代码。选中你提交的代码,点击push。

啥?!你刚入职,你不知道测试分支是哪个?去问测试小姐姐呀,ta们会告诉你的!

这里切换并合并的过程,和你切换自己创建的分支并合并master分支一样,参考上面的。

注意:在你合并的时候,你一定要先切换到测试分支,然后合并远程你创建的分支,注意是你创建的远程分支,不要和你本地的分支合并。因为你push的代码是到了你创建的远程分支,至于如何分别远程与本地分支,上面在切换到你自己创建的分支的图片中有提到。一定不要搞错了!!!

这个时候,你就可以给自豪的测试小姐姐说:“嘿嘿~ 小姐姐给我测测,看我写的Bug里有没有代码~(卧槽! 暴露了!)。”

2.6 在测试分支在次提交代码

切换到测试分支和自己创建的分支进行合并以后,此时在测试分支上就有了你写的代码,但是还没有push到远程分支。所以需要push一下,如下图(push的方式有很多种,这是我喜欢的一种用法!):
在企业中git的使用流程,看完少挨骂哦~_第13张图片
然后找到自己写的代码(这里通过当初在自己创建分支上,提交代码时写的 commit message内容来寻找自己的代码 )并push:
在企业中git的使用流程,看完少挨骂哦~_第14张图片

2.7 出现BUG时

当你写的代码中出现BUG,你需要修复。如果是些不痛不痒的小BUG,你可以直接在测试分支上修改,并提交。但是这是在你确保BUG很小,能够迅速的解决。反之,你需要创建一个BUG分支,来解决你的BUG,这个的流程和拿到一个新任务的过程一样。

2.8 删除分支

当你一切工作都做完的时候,你需要在GitLab上将你的分支删除。idea中的本地分支你想删就删。

四、这样做,会让你显得很专业

在你commit并push代码书写你对提交内容的描述的时候,也就是在书写commit message的时候,按照以下规则,会让你更受人待见,让你显得很专业!

1.主要type(最常使用)

  • feat:增加新功能
    例如:
feat: 增加了XXXX功能
  • fix:修复BUG
fix: 修复XXXXBUG

注意:上述内容在书写的时候,冒号 必须是英文状态下的,并且在冒号的后面需要有一个空格,然后再去写后面的内容

2.特殊type

  • docs:只改动了文档相关的内容。
  • style:不影响代码含义的改动,例如去掉空格、改变缩进。
  • build:构造工具或者外部依赖的改动。
  • refactor:当重构代码的时候使用。
  • revert:回滚操作的时候使用。
  • merge:分支合并的时候使用。

3.备用type(特殊情况使用)

  • test:添加测试或者修改先有测试时使用。
  • perf:提高性能的改动。
  • ci:与CI(持续继承)有关的改动。
  • chore:不修改src或者test的其余修改,例如构建过程或者辅助工具的变动。

五、总结

git使用流程:

  • 创建分支,并切换到该分支
  • 与master分支合并,保证自己分支和master分支的一致性
  • 写代码,提交并push到自己的远程分支
  • 切换到测试分支与自己创建的远程分支合并
  • 在测试分支中再次push,自己的代码(在测试分支中,自己写的代码可以通过在自己分支提交时书写的commit message这个标识来找到)
    *

你可能感兴趣的:(Git,java,git,java,github,svn,1024程序员节)