简介
Git分支命名规范如下: 渲染效果如下:
1、主分支master
代码仓库有且仅有一个主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。Git主分支的名字,默认叫做master。自动建立的,版本库初始化以后,默认就是在主分支在进行开发。团队成员从主分支(master)获得的都是处于可发布状态的代码。
2、开发分支develop
作为日常开发的分支叫做develop分支。开发分支上应该总能获得到最新开发进展的代码。
常见的命令:
# 基于master分支创建develop分支
git checkout -b develop master
# 把master分支合并到master分支
git merge --no-ff develop
--no-ff的意思强制禁用Fast Forward模式,git就会在merge时候生成一个新的commit,这样从历史分支就可以看出分支信息。
git merge --no-ff -m "merge with no-ff" dev
和Fast Forward的区别:
3、临时分支
除了常设分支之外,还有一些临时分支,用于应对一些特定目的的版本发版。
- 功能(feature)分支
- 预发布(release)分支
- 修复bug(hotfix)分支
临时分支用完之后最好删除,使得代码库的常设分支只有master和develop分支。
3.1 功能分支
feature分支是为了开发某特定功能的从develop分支拉取的分支,开发完之后要合并到develop分支。功能分支的命名采用feature-xxx的形式。
```
# 基于develop分支创建feature-xxx分支
git checkout -b featue-xxx develop
# 开发完之后要合并到develop分支
git merge --no-ff develop
```
3.2 预发布分支
release分支是指发布到预发布环境的分支,预发布期间测试的问题需要在release分支进行修复,结束之后需要合并到master分支和develop分支。一般预发布分支采用release-xxx的形式。
# 创建一个预发布分支
git checkout -b release-x develop
# 测试完成之后合并到develop和master分支
git merge --no-ff release-x
# 对合并生成的新节点,做一个标签
git tag -a 1.2
# 再合并到develop分支
git merge --no-ff release-x
# 最后,删除预发布分支
git branch -d release-x
3.3 bug修复分支
生成环境遇到bug,需要创建分支进行bug修复。
修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进master和develop分支。它的命名,可以采用hotfix-x的形式。
# 创建一个修补bug分支
git checkout -b hotfix-x master
# 修补结束后,合并到master分支
git merge --no-ff hotfix-x
git tag -a 0.1
# 再合并到develop分支
git merge --no-ff hotfix-x
# 删除"修补bug分支"
git branch -d hotfix-x
4、总结
整体的分支管理策略图示: