懒,差点让系统崩溃!

余生长醉 提交于 2019-11-30 09:30:15

git很好用,但我很懒

在上家公司的时候,养成了使用git管理项目的好习惯。主分支、版本分支各个RC和Rease版本,每个patch都记录得很得当。所以几乎发布了两年,只出过一二次patch少打的情况,且是因为patch久远,测试时是正好完美避开了bug。

自从开始创业,自己一个人就是团队。号称一个人干了一个团队干的活,基本框架、API框架、小程序、VUE基础的管理平台、VUE基础的合作伙伴平台、Dockefile、Docker编排、Thrift为基础的RPC等等,这些模块加起来有将近10个,也都是一个人一个月完成。

问题很大,我很无奈,但却不是无辜

说到这里我自认为还对得起这10年的工作经验。但是,昨夜的一场发布,让我知道,我还是会犯错,且是一个轻敌的错。因为一个人开发,所以习惯了commit时只用最新版,所以发布时没有关心版本问题。但是昨天是两个版本修选上线,系统是有点不同的,不同有二:

1、主版本(备用版本)没有使用docker、没有使用thrift

2、主版本都使用的是单机配置

很遗憾,我没有给主版本打tag,可以说我自己都不知道是从哪个commit开始的。

因为我认为,我发布的分支版本一定没有问题,并且我准备将此分支版本做主版本。

开始一切顺利,正是我想想的那样。。。

大概晚上8:30时,发布完成,一切就绪;运行也Okay,突然发现,各rpc之间的调用是非常慢的。(请原谅我过早的上RPC,这主要是为了下个月加服务器准备的)

原本我开发的机器并没有线上机器性能好,但绝对不会卡!

怎么办,只能用备用版本,去掉RPC,这时我傻了,因为备用版本没有打tag,没有分支都是在主分支上的一个个commit。但是已经有用户支付成功,但订单被会滚了(因为我们的业务特殊,原本都是早上发布,昨夜因为晚上要运行重要程序且需要在10点前结束)。

只能找commit,重打tag,重建分支了

还算运气好,花了20分钟找到了commit位置,输入了一堆的指令,终于把tag给打上了。 

git checkout 34243211322131 -b release-2.0RC

git push origin release-2.0RC

...

git tag release-2.0RC001

git push --tags


git cherry-pick ...

git push origin master --tags

总共花了一个小时的时间来发布。

这还是建立在我有很好的commit习惯的情况下(当然,这个习惯中的commit 信息被我给吃了)

吃一堑,长一智吧,以后还是好好按照git的正常使用方法来使用,发布的时候就不会措手不及了!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!