查看原文
其他

炸了!实习生把代码仓库搞得一团糟…

脚本之家 2022-09-23

The following article is from 拓跋阿秀 Author 阿秀

 关注脚本之家”,与百万开发者在一起

文 | 阿秀

出品 | 拓跋阿秀(ID:coderAxiu)

已获得原公众号的授权转载

最近两周一直都挺忙的,不仅要带组里新来的实习生,也要统筹、协调我们研发小队的整体进度,属实是累到不行。

不得不说,作为一个程序员,最容易的事真的是写代码了,你让电脑干啥就干啥,你让它输出 1 就不会输出 

跟写代码相比,协调、沟通、同步进度这些才是最耗费精力的。

1、心态炸了

这几天最让我焦头烂额的就是新来的实习生 git 操作太差了,差点把我们小组的代码仓库搞砸了。

这个实习生前段时间刚来,基础挺不错的。

在得知他的常用语言是 JavaScript,也使用过一些 Vue,就把组里的一个前端小需求交给他了。

这个小需求主要是实现一个 form 表单,然后通过 put 接口区更新一下表单两个字段,是不是听起来挺简单的。。。其实确实挺简单的,他也信誓旦旦地说没啥问题。

最后完成后就把我叫过去验收一下,我简单测试了一下,确定没啥问题,就让他推到 gitlab 仓库上去,如果有什么事情再叫我就是了。

然后转头就去忙我自己的事了。。。

结果就 BOOM!!!

不知道他怎么搞的,直接 push 到 master 分支去了,直接跨过开发分支测试分支,直接合到 master 发布分支上去了。

这还不算什么。。。如果只是这样就还好,关键是他看有写代码冲突就直接在 master 分支上对已经成功发版的代码增删改!!!

OMG!!!所以就直接 BOOM了!

然后我就被 Leader 一顿批。。。也确实是我没说清楚,看他基础挺好的,想着最基本的 git 操作应该也是 ok 的,然后就被打脸了。。。

不过还好,问题不大,我丢给实习生一份 git 基本操作手册,告诫他两句就完事了。

没有什么人刚开始工作就什么都会,什么都懂。犯错没关系,重要的是要知道自己为啥错了就可以,下次不要再犯啦。

我在入职之初,Mentor 就是这么跟我说的,他会给我留出一部分犯错的空间,只要不是原则性问题,比如删库跑路,其余的都没关系。

所以,我也是这么跟我带的那个实习生说的。

人嘛,都是一步一步踩坑过来的,没有那么多天才,失败是成功他妈

这里也简单说一下,团队合作开发项目和个人开发的一些区别,一些还在读书的小伙伴可要好好看下去哦。

2、个人开发

个人开发就比较简单,自己完成功能开发后直接 push 代码,因为全程都是自己一个人开发,所以在合并代码的时候也不会有冲突产生。

很多在校的学弟学妹们估计也是如此,一个人使劲鼓捣都没事。

可是正式工作后就不行啦,首先要学会的就是如何跟别人合作完成开发任务。

3、团队开发

一般来说,团队合作开发的话,每个人都需要在自己的功能分支 feat/XXX 上开发,最后一起合并到总的开发分支 dev 上,然后将开发分支 dev 合并到测试分支上,最后将测试分支合并到正式发布分支上。

其中总的开发分支一般叫做 dev 分支,正式发布分支一般是叫 main/master/release 分支。

这里我画了一张图帮助大家理解:

一般的开发流程

比如说有 A、B、C 三个人协助进行功能开发:

1、首先 A、B、C 三位小伙伴从总开发分支 Dev 上开辟自己的功能分支,分别是 feat/AXXX、feat/BXXX、feat/CXXX,也就是图中 feat/AXXX、feat/BXXX、feat/CXXX 的三条线;

2、然后在自己的开发机上进行开发,这里的开发机可以是本地环境也可以是一些云端的开发机。开发完毕后,再分别合到总开发分支 dev 上,也就是图中蓝色的三条线,在这个过程中可能会产生一些代码冲突,挨个 solve 即可;

3、接着在 dev 分支上确认所有功能开发完毕,进行简单自测,fix 一些 bug 后再向测试分支上进行合并;

4、这个时候就可以艾特测试组的同学来进行测试,测试通过后再合到 master 分支进行发布。

一般来说,基本的流程就是这样的,不同公司或许其中流程有些出入,不过问题不大,大致方向是如此的。

<END>

【新产品上架】 🕚

  推荐阅读:

终于!我找到程序员爱穿卫衣的原因了

卷不动了:互联网的尽头是外企?

微软2022新bug:大量程序员连夜加班,只因日期数据溢出

你的密码已遭泄露!让密码更安全的方法竟是丢掉密码

我用鸿蒙开发板做了个“自动门锁”

Chrome 再次引入争议 API,遭同行抵制

每日打卡赢积分兑换书籍入口

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存