多人协同开发
多人协同开发的gitflow工作流
- 流程说明
- 首先是master分支,上面存放的都是稳定的线上代码
- 当我们想开发新的功能的时候,我们从master中切出一个分支dev,用于研发新的功能
- 多个员工一起合作进行开发,假设我们分配给A员工的是支付功能,分配给B员工的是聊天功能,这时,两个员工都从dev分支切出自己的分支,用于自己代码的开发,A的分支假设是da分支,B的分支是db分支
- A,B员工同时并行在各自的分支上开发,互相并不干扰,A自己进行开发,开发了da1版本,开发了da2版本,开发了da3版本,支付功能全部完成,这时他向dev分支请求合并自己完成的代码,代码管理者会对A的开发的代码进行code review,合格了,就会将A开发的代码合并到dev分支中,生成dev分支的d2版本
- dev分支的d2代码版本并不稳定,需要进行测试,不能直接推送到master上进行合并,所以需要一个预发布的分支,可以在上面进行测试,测试中有bug的话,可以进行修复,测试到没有任何的问题了,申请和master进行合并,形成m3版本,然后将测试版本合并到dev分支,形成d3版本,保证现在的dev分支和master的代码的一致,release的分支完成使命可以删除
- B自己进行开发,开发了db1版本,开发了db2版本,开发了db3版本,开发了db4版本,聊天功能全部完成,这时他向dev分支请求合并自己完成的代码,代码管理者会对B的开发的代码进行code review,合格了,就会将B开发的代码合并到dev分支中,生成dev分支的d4版本
- 和上面A完成功能之后进行release版本的处理方式一样,在release分支测试通过合并到master分支,别忘了合并到dev分支中
- bug分支这个加到图里面实际上模拟的是我们在开发过程中,线上出现在我们测试的过程中没有出现的问题的话,需要紧急的进行修复,开一条bug分支,修复完成合并到master分支就行了
- 这里只是一个示意图,在下面的图中m2到m3的会存在冲突,解决就行了,其实是master改变了,需要对dev也进行调整,下面的开发人员的代码也要拉最新的dev,避免不必要的冲突
- 流程示意图
- 邀请团队成员
打标签
git tag -a V1 -m "标签的描述"
git push origin --tags
联合开发
- 成员权限设置
- pull request完成代码review
- 协同测试
- 切分支并推送远端用于测试
- 测试完成后,修改bug,提交了master的pull request(过程和上面一样),本地操作如下
- 注意:合并或者pull request的过程中可能会有冲突,有冲突就解决冲突就行了