(1). 分支命名介绍

当有一组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-*