这是我参与「第四届青训营 」笔记创作活动的第1天
青训营结束在即,回顾往日的项目开发,我愈发觉得当今开发不再是往日那种“一间房,一个塞满披萨的冰箱,一台电脑,一位程序员”就能干大事的感觉了。
愈发全能化、大型化的项目,需要许多程序员合力完成
这次青训营给我印象最深刻的就是团队协作了。大家在一起开发一个低代码前端平台,其中不乏十分优秀十分有经验的开发者。但是在初期分工、中期开发、后期整合阶段都出现了大大小小的问题——有接口相关的,也有思路不匹配的……
说白了就是一加一反而小于一了
这些工作一位程序员花多点时间反而能顺利地完成,团队协作在这里成为了阻碍。
之后一段时间我将聚焦在团队开发的相关技术栈。只为学好如何协作。这篇文章就将从大家熟知的git版本控制工具入手,直接指向分支这一难点。
Git分支
所谓git分支,就是从主干分出来的一个时间线。我们知道,git当中提交更新版本、回溯到以前版本,都是基于一个时间线在操作。
这个时间线就是主分支
上图来自菜鸟教程,蓝色视为主分支
当一个团队开发的时候,所有人都写主分支,势必要分配任务的具体时间节点(如张三今天写50%,李四把张三提交的代码下载下来,明天写50%),否则便会造成时间线错乱(新版本因提交得早反而在时间线前面,旧版本在后面),或者文件覆盖的问题(如张三李四都在周一版本的基础上写自己的部分,李四周二提交了他完成的50%,张三在周三提交他的那50%,便把李四周二的50%覆盖了)
这个时候如果不希望定死每个人工作的时间节点,便需要用到分支
相当于每个人单独分出一个时间线,基于自己的独立时间线完成开发,再把最后的成品合并到主分支。