暂定
A.老项目的工作流程
使用功能分支流 + pull request开发模式
- clone项目到本地
新建分支上完成功能开发
(git checkout -b feature-x, git add, git commit)
- 发起pull request到master
- 合并到master
B.新项目工作流程
- 创建用户, 登录gitlab完成注册并配置ssh key
- 创建项目 git clone 项目地址
功能开发
- 基于dev创建功能分支, git checkout -b feature-x分支名 orign/dev
- 在功能分支上进行开发,提交feature-x
- 完成功能后,发起dev分支的pull request
- 准备发布分支,发起pull request到Master
- 合并到Master, 自动以补丁形式同步到线上服务器
bug修复
- 基于Master创建分支 git checkout -b bugfix-x分支名
- 修改代码,提交bug修复
- 推送远程,发起pull request到master
- 合并到master, 发起pull request到dev
参考:http://blog.jobbole.com/76867/
开发环境
- 共享运行环境,拉取回本地做git管理
- 开发者独立开发环境,自行维护开发环境(可寻运维支持),程序需要支持不同域名进行开发
- 开发者通过共享服务器独立开发环境,由运维维护各自开发环境
基于gitflow、pull request工作流
使用gitlab作为远程代码管理仓储,开发流程如下:
- Master作为线上分支, pull request到Master分支,自动完成代码补丁生成
- dev分支,作为开发分支,大家在各自的功能分支Feature开发功能,并合并到dev分支后,进入发布分支
- 功能合并到dev分支后,生成发布tag或release分支,并请求pull request到master, 完成线下功能发布
- bug或临时补丁,以新分支Hotfix开发,与主分支与开发分支合并