(1). 分支命名介绍
- master分支
- master为主分支,也是用于部署生产环境的分支,确保master分支稳定性.
- master分支一般由develop以及hotfix”分支合并”,任何时间都不能直接修改代码.
- develop分支
- develop为开发分支,始终保持最新完成以及bug修复后的代码.
- 一般开发的新功能时,feature分支都是基于develop分支下创建的.
- feature分支
- 开发新功能时,以develop为基础创建feature分支.
- 分支命名: feature/开头的为特性分支,命名规则: feature/user_module、 feature/cart_module.
- release分支
- release 为预上线分支,发布提测阶段,会release分支代码为基准提测.
- hotfix分支
- 线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支.
当有一组feature开发完成,首先会合并到develop分支.
当进入提测时,会创建release分支.
如果测试过程中若存在bug需要修复,则直接由开发者在release分支修复并提交.
当测试完成之后,合并release分支到master和develop分支,此时master为最新代码,用作上线.
(2). 创建dev分支
lixin-macbook:~ lixin$ cd ~/FwRepository/
# 1. clone
lixin-macbook:~ lixin$ git@github.com:help-lixin/framework.git
lixin-macbook:FwRepository lixin$ cd framework/
# 2. 查看现有分支情况
lixin-macbook:framework lixin$ git branch
* master
# 3. 基于master创建dev分支
lixin-macbook:framework lixin$ git checkout -b dev master
切换到一个新分支 'dev'
(3). 创建feature分支(增加新功能)
开发新功能时,以develop为基础创建feature分支.
# 1. 查看当前的分支
lixin-macbook:framework lixin$ git branch
* dev
master
# 2. 基于dev创建分支
lixin-macbook:framework lixin$ git checkout -b feature/2021-07-22 dev
切换到一个新分支 'feature/2021-07-22'
# 3. 对文件进行修改(略)
# 4. 提交
lixin-macbook:framework lixin$ git add .
lixin-macbook:framework lixin$ git commit -m "commit README"
[feature/2021-07-22 703cc0c] commit README
3 files changed, 3 insertions(+)
create mode 100644 hello world
create mode 100644 tmp/test.txt
(4). dev合并feature分支(增加新功能)
该分支从develop中分支出来,开发完成后再合并入develop,名字采用feature-* 的形式命名
# 1. 切换回到dev分支下
lixin-macbook:framework lixin$ git checkout dev
M sso-parent/sso-ui
切换到分支 'dev'
# 2. 把feature分支与dev分支合并
lixin-macbook:framework lixin$ git merge feature/2021-07-22 --no-ff
# 3. 提交dev分支到远程仓库
lixin-macbook:framework lixin$ git push origin dev
# 4. 删除feature分支
lixin-macbook:framework lixin$ git branch -D feature/2021-07-22
已删除分支 feature/2021-07-22(曾为 703cc0c)。
# 5. 合并dev分支内容到master
lixin-macbook:framework lixin$ git merge --no-ff dev
# 6. 推送master到远程
lixin-macbook:framework lixin$ git push origin master
(5). 创建release分支
# 1. 基于dev创建release分支
lixin-macbook:framework lixin$ git checkout -b release/2021-07-22 dev
切换到一个新分支 'release/2021-07-22'
# 2. 查看当前分支
lixin-macbook:framework lixin$ git branch
dev
master
* release/2021-07-22
# 3. 进行业务操作
# 4. 提交
lixin-macbook:framework lixin$ git add .
lixin-macbook:framework lixin$ git commit -m "modify"
# 5. 切换到dev,确认版本没有问题后,合并到dev分支:
lixin-macbook:framework lixin$ git checkout dev
lixin-macbook:framework lixin$ git merge --no-ff release/2021-07-22
# 6. 对合并生成的新节点,做一个标签
lixin-macbook:framework lixin$ git tag -a 2020.07.22
# 7. 切换到master,确认没问题后,合并到master分支:
lixin-macbook:framework lixin$ git checkout master
lixin-macbook:framework lixin$ git merge --no-ff release/2021-07-22
# 8. 删除本地分支
lixin-macbook:framework lixin$ git branch -D release/2021-07-22
(6). 创建hotfix分支
创建一个修补分支:
git checkout -b fixbug-* master
修补结束后,合并到master分支:
git checkout master
git merge --no-ff fixbug-*
git tag -a 0.1.1
再合并到develop分支:
git checkout develop
git merge --no-f fixbug-*
最后删除分支:
git branch -d fixbug-*