如何做好项目管理是目前大多数公司会面临的一个问题,那么我们今天就来讨论一下如何更好的管理项目代码仓库。
首先来看看会用到的一些关键技术或名词:
- Git:分布式版本控制系统,目前被普遍的接受
- gitlab/Bitbucket:是一个用于仓库管理系统的开源项目,当然这里为什么不去用github或者codding等自己可以去想想
接下来说说我司目前使用的管理方式,可能不是最好,但是基本可以解决多人协作开发并不相互覆盖的需求。
流程
- 先从主仓库拉去不同的分枝,分别是
master
(主干分枝),pre
(灰度分枝),daily
(测试分枝) - 开发新功能的时候都是从
master
上拉取最新的分枝(如f
分枝) - 然后在
f
分枝上进行开发(个人开发的话不要推送到远端) - 开发完功能,要提测时就合并到
daily
上交给测试进行测试,测试过程中修复的bug继续在f
分枝进行,然后再合并到daily
,以此直到测试环境通过 - 测试环境通过后将
f
分枝合并到灰度pre
分枝,并进行测试,测试过程中修复的bug继续在f
分枝进行,然后在合并到daily
测试完成后在合并到pre
分枝(测过程也可直接合并到pre
分枝测试,但需要把最终的f
分支合并到daily
分支),以此直到灰度环境通过 - 灰度环境通过测试后,
pre
分枝打包发部署到线上,稳定后将本地f
分枝合并到master
分枝,并删除f
分枝
说明
以上过程中可能会有一些问题产生,具体解决方法为:
- 每次新功能和修复bug分枝都必须从
master
上拉取 - 避免多人同时修改同一个模块(同一块代码)
写在最后
这样可能会有人问:在pre
分枝上提交了多个项目a、b、c,但是到发布的时候只有a发,b和c还在测试,这样会把b和c的代码发布到线上,怎么办?
不要着急,每个功能页面引用的静态资源都是带版本号的,即使发布到线上不去改他的引用版本号也是无关紧要哈~~