回忆:在上一家公司,由于做的项目规模不大,公司的开发流程以及体系不是太完善,在写代码时就是想到哪写到哪,没有人管,非常的 be real 非常的野 ~ 写代码提交的话直接是提交到master分支(因为我们没有测试,我们就是测试~嘿嘿嘿),只要不是逻辑走不通的,就直接提交。线上出现问题了再去解决。舒服 ~
无形中我在git这个领域上挖了很多个坑…
continue…
在我入职的第一天,刚坐到工位上的那一刻,我就开始控制不住我内心的野,想写bug了\⊙_⊙/… 哦不,是代码!( ̄︶ ̄) 。*
我想着试试提交代码,然后我就在代码上随便加了几个空格,然后就自信满满的提交了,然后我问我旁边的同事,我说你看我搞的对吧。
同事一脸惊恐的表情,说:“你干嘛要提交到master分支上去!!!”
他嗓门比较大,主管就在我们工位的后面,主管闻声走路过来。
主管:“你改了代码提交了?”
我说:“额~是的”
主管:“你改了那些东西?”
我说:“没啥子,额~就四一些空格”
主管:“你不要直接提交代码到master分支,写代码要创建自己的分支!”
我…
有了上次的教训,我就不胡乱提交代码了。每次提交代码都需要要问一下同事是这样吗。
但是,事与愿违
周三,我在自己创建的分支写完一个功能的时候,准备提交,主管又给我分配了另一个新的需求。我一看,儿豁~这个功能好写啊,以我敲代码的速度,与敏捷的思维能力,我十分钟就搞定。
结果我写到了下周一。。。
哇!!!新版本马上就测试了,我该怎么办?目前这个功能还没有写完,还没有测试。我问了我旁边的同事我现在咋办?
他没有听懂我的意识,直接把代码提交了,我就在旁边看着他…没敢出声。提交完毕后我说:“我…我这里面还有没有写完的功能的代码~”
同事:
他说没事儿,可以回滚,最后搞了半天花里胡哨的我也看不懂。最后非但没有搞好,我写的所有东西,都不见了!!!
他好像使用了
git reset --hard
我当时的心情…我想回家我想麻麻了~ 我想让时间回滚一下~ 呜呜呜
如果看这篇文章的小伙伴们(让我看看谁和我一样蠢)也有同样经历的我表示同情(坏笑~)。
痛定思痛:
回到家我好好复习了一下关于git的使用,下面我以目前所在的公司为基准给大家展示一下,在公司中如何使用git,都是idea中的图形化界面,很好理解。只要你不做什么复杂的操作,在平常的工作中是完全够用的,希望其他小伙伴别步后尘!!!。
Shall we go ~
我们公司使用的是GitLab,编译工具是idea,在公司主要的分支有以下三个
当接收到一个任务,名称为:taskA,你需要到GitLab上创建一个这个功能的分支。
在创建分支之前,你必须要清楚的是,你的任务是属于哪个系统的(项目规模很大时会有很多系统),在GitLab上找到对应的系统 如下图:
找到对应的系统点击去,点击commit
创建taskA任务的分支,分支的名称尽量和任务的名称保持一致,格式为:年月日+功能的名称,便于日后的查看与管理(如果你创建的分支名称和别人的相似,(坏笑)别人有可能会误删或者在你分支中写代码~)。如下图片所示:
在idea中的右下角(分支切换的地方,这里以我的为准,如果不一样你们好好找找)找到你创建的任务分支,如下图所示:
在远程分支中寻找你刚刚创建的那个功能分支,如果没有找到需要update(这个update就是git的update)一下。找到后切换到创建的分支,如下图所示:
找到之后并切换。
这里需要和master分支合并一下,注意:是先切换到你自己创建的分支,在与远程master分支合并,不要搞反了!。保证你和master分支上的代码的一致性,因为master里面的代码,个个都是精英,“放屁”又好听(坏笑~),操作如下图所示:
到这里,创建分支的任务就完成啦。
哈哈哈哈~ 终于到了用代码我展现我性格的时候了。现在我们就可以写自己的任务了,当你任务写完的时候你需要提交,(我一般在自己分支上,都是提交并推送的,也就是commit And push)点击idea工具右上角的commit按钮(如果没有,好好找找;还有一种方式就是:找到你项目的名称在idea左边的project目录里,点击右键—>git---->commit),操作如下图所示:
填上对提交内容的说明,你就可以提交了,我喜欢commit和push一起,简称cp~~。注意:你在提交的时候,一定要看看是不是你写的代码,有可能存在别人切换到你的分支了,在你的分支上写代码了。嚯~ 还会有这样的傻二蛋?
比如我就是~
进入提交界面如下图:其中commit message一定填写,否则提交不了,commit message它是对你提交内容的描述
你提交后,在idea的右下角会有提示。注意查看!
下面你需要在切换分支的地方(上面提到了)找到测试分支(如果你们公司有测试分支的话)。找到之后,切换到测试分支,然后与你自己创建的分支进行合并。合并之后呢
目前你处于测试分支,然后再次点击push。你会发现,在push的列表中,会有你在自己分支上提交的代码。选中你提交的代码,点击push。
啥?!你刚入职,你不知道测试分支是哪个?去问测试小姐姐呀,ta们会告诉你的!
这里切换并合并的过程,和你切换自己创建的分支并合并master分支一样,参考上面的。
注意:在你合并的时候,你一定要先切换到测试分支,然后合并远程你创建的分支,注意是你创建的远程分支,不要和你本地的分支合并。因为你push的代码是到了你创建的远程分支,至于如何分别远程与本地分支,上面在切换到你自己创建的分支的图片中有提到。一定不要搞错了!!!
这个时候,你就可以给自豪的测试小姐姐说:“嘿嘿~ 小姐姐给我测测,看我写的Bug里有没有代码~(卧槽! 暴露了!)。”
切换到测试分支和自己创建的分支进行合并以后,此时在测试分支上就有了你写的代码,但是还没有push到远程分支。所以需要push一下,如下图(push的方式有很多种,这是我喜欢的一种用法!):
然后找到自己写的代码(这里通过当初在自己创建分支上,提交代码时写的 commit message内容来寻找自己的代码 )并push:
当你写的代码中出现BUG,你需要修复。如果是些不痛不痒的小BUG,你可以直接在测试分支上修改,并提交。但是这是在你确保BUG很小,能够迅速的解决。反之,你需要创建一个BUG分支,来解决你的BUG,这个的流程和拿到一个新任务的过程一样。
当你一切工作都做完的时候,你需要在GitLab上将你的分支删除。idea中的本地分支你想删就删。
在你commit并push代码书写你对提交内容的描述的时候,也就是在书写commit message的时候,按照以下规则,会让你更受人待见,让你显得很专业!
feat: 增加了XXXX功能
fix: 修复XXXXBUG
注意:上述内容在书写的时候,冒号 必须是英文状态下的,并且在冒号的后面需要有一个空格,然后再去写后面的内容
git使用流程: