河马和Git不得不说的故事

253 阅读4分钟

我是程序员河马,我现在很慌,我刚刚把公司master上的代码给冲掉了一部分。。。

故事还是得从头说起,2012年11月12日,河马我以初级java工程师实习生的身份正式开启了我的职业生涯。经过了大半天的各种手续和填表,我是终于坐在了贴有自己名字的工位上,感觉我的身上都打着一束光。我的隔壁是我的直属领导猴哥。猴哥见我在捣鼓着电脑,对我说“河马同学,今天是你第一天开始工作,也没有什么任务给你,你先自己搭建好你的开发环境,然后从git上把代码拉下来熟悉熟悉。有什么问题可以随时问我”。然后迅速的加我qq给我发了几个网址。我这边熟练的搭好环境,java开发嘛,主要就是java环境和开发工具,然后装好数据库,感觉棒棒的,毕竟在学校还是认真实操过的。这会想起了猴哥说的什么到git上去拉代码。what?git是什么鬼,怎么重来都不认识的感觉!!!心里有点慌了,从猴哥的语气来说,感觉这个git应该是一项很常用的技术,但是自己却根本还没有听说过,该怎么办呢?如果这个时候去请教猴哥会不会显得自己太过菜鸟,给领导留下不好的印象。于是决定一会自己搞定,大不了一会百度学习一下,但是还得注意不要被猴哥发现。就这样,我的第一天就在这偷偷摸摸假装淡定的百度中结束了。

第二天,猴哥:“怎么样,代码拉下来了吗?”,“昨天已经拉下来了,今天准备阅读一下代码,学习下相关业务”我自信的答到(经过第一天的百度,顺利的依葫芦画瓢,并且回家后还偷偷恶补了git的相关操作,此刻我的内心毫无波澜,甚至还有点得意)“很不错嘛,小河,那你先看着,一会给你个简单的小bug给你改改,帮助你有针对性的熟悉业务,代码你重新拉个分支吧”猴哥满意的说道。这么快就让我开始动代码了,看样子我昨天的表现还是很完美的,我心里乐开了花,甚至觉得不久后就能平步青云,升职加薪,走上人生巅峰!YY完了之后,我开始认真的分析代码,查看逻辑,我感觉我的脑子犹如开了光,没过多久,我便找出了bug出现的原因,然后直接动手修改,心里满是得意。改完之后我又自己自测一遍,完美修复,接着我又根据前一晚学习到的git命令提交和push,然后就向猴哥汇报工作去了。在得到猴哥夸奖之后我更是感觉被自己帅到了。

第三天,线上爆出重大事故,新出的一个功能失效了,导致服务中断。猴哥等人迅速进入抢救状态。最终定位到原因,新功能的代码被我修改bug的代码给玩坏掉了,我在修改代码时没有更新代码,同时又没有重新再拉分支,直接在master上动手,导致代码出现了冲突和替换等问题。。。

河马小提示

在使用git或者svn等代码版本管理工具时,最重要的是要明确在工作过程中是团队开发,因此要有代码合并管理的意识。对于要操作代码的时候,首先是要更新本地代码,然后基于最新代码拉取新分支,在新分支上进行开发,然后完成之后确保编译通过再根据版本要求合并代码到主分支,合并时需要处理代码冲突情况。对于git来说,需要熟练掌握add commit pull push stash reset等相关命令,需要学会解决代码冲突和版本回退等相关操作。