Git 项目开发规范
分支策略
-
master主分支,用于生产环境的主分支
-
test分支,用于测试环境分支,一般可以自动CICD
-
fix/* 分支,用于修补线上bug分支
-
feat/* 分支,用于开发功能分支
-
refactor/* 分支,用于重构代码
三大环境
- 生产环境
用于部署成品的环境,master分支
- 测试环境
用于部署测试,test分支
- 开发环境
用于本地进行测试,一般需要连接公司VPN开发
开发流程
-
git clone remote-url 克隆仓库
-
拉取最新代码
-
git fetch origin master:master 不在master
-
git pull origin master 在master
-
开发
-
创建新分支
- git checkout -b feat/xxx master 开发新功能
- git checkout -b fix/xxx master 修补bug
- git checkout -b refactor/xxx master 重构
- 推送新分支
- git push origin xxx
- 合并到test分支
前提是在开发环境测试没有问题
1. git fetch origin test:test
2. git checkout test
3. git merge xxx(自己的分支)
- 没有冲突
1. git push 推送分支
- 产生冲突
1. git checkout -b merge/xxx test
> 解决冲突问题
2. git merge xxx
3. git push origin xxx
4. 继续向test合并
- 提出master的merge request
> 前提是在测试环境没有问题
- 产生冲突和test解决方式类似
- review没有问题,合并分支到master,结束开发
- review出问题
1. 继续修改代码,解决问题再次请求合并
-
开发完毕,删除分支
-
git push origin :xxx(远程分支名字)
-
git branch -d xxx(本地分支名字)
注意事项
-
提交merge request前必须经过测试环境检验
-
test分支代码不能合并到master分支
-
test分支可以直接合并,master分支必须经过审核