在分支上开发新特性的流程:
基本原则:
- master分支对应生成环境
1. 将基线代码库拉到本地 :
- $git clone
2. create a new feature (feature Name一般使用需求序号,如feature-12345):
- $git checkout -b featureA
3. develop code of featureA
- Coding
代码有提交就触发CI/CD(编译,代码质量检查,单元测试,部署到开发环境,集成测试)
特性的每一个功能点开发完成后提交到分支,并且创建pull request,因为git的pull request会自动跟踪特性分支与master分支之间的差异。
4. 每日将master代码合并到开发分支,或者当master分支有变化时自动推送到其它所有或者是选定的分支。(这一步应该实现自动化)
切换到master分支并更新代码
-
a.$git checkout master
-
b.$git pull
提交到本地
-
c.$git add .
-
d.$git commit -m “merge”
合并到开发分支
- e.$git checkout featureA
执行CI/CD (编译,代码质量检查,单元测试,部署到开发环境,集成测试)
5. commit and push new code of featureA
-
$git commit -a -m “commit code”
-
$git push
6. 创建pull request 申请将特性分支合入master分支
(Sprint结束之前,team成员review pull request的代码,并确认是否将其合并到master分支)
7. 将新特性(featureA)合并到master分支
-
$git checkout master
-
$git pull
-
$git merge featureA
-
$git push
Master分支有变化自动触发CI/CD (编译,代码质量检查,单元测试,部署到集成测试环境,自动化测试,QA测试,通过部署到UAT环境)
8. 删除本地featureA分支
- $git branch -d featureA
9. 删除远程featureA分支
- $git push origin --delete featureA
fix bug process
- 以master分支对应生成环境的版本创建一个新分支
- 在其中修复问题。
- 通过测试后,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上。