Git 代码分支管理
代码分支包含以下5种:
固定分支
- master 主分支
- develop 开发分支
临时分支
- feature 功能分支
- release 预发布分支
- fixbug 补丁分支
master 主分支
只用于发布系统的正式版本。1
发布版本:master > tag 0.1 > tag 0.2 > ...
develop 开发分支
日常的开发工作都只能在 develop
开发分支上进行。在功能开发、bug 修复、预发布完成后都应该将修改合并回开发分支。
1 . 创建 develop
分支
1 | git checkout -b develop master |
feature 功能分支
当我们需要增加或者改进一个功能(包括不需要立即上线的 bug 修复)时,首先应该从 develop
分支上创建一个功能分支(命名规范:feature-xxx),完成开发后将其合并回 develop
分支,最后删除该功能分支。
1 . 从 develop
分支上创建一个功能分支
1 | git checkout -b feature-xxx develop |
2 . 开发完成后,将功能分支合并到 develop
分支
1 | git checkout develop |
3 . 删除本地的 feature
分支
1 | git branch -d feature-xxx |
release 预发布分支
在发布正式版本之前(即合并到 master
分支之前),我们可能需要有一个预发布的版本进行测试。此时需要从 develop
分支上创建一个预发布分支(命名规范:release-xxx),可直接在该版本上修复测试发现的bug,测试完成之后合并到 master
分支进行发布,则合并回 develop
分支,最后删除该预发布分支。
1 . 从 develop
分支上创建一个预发布分支
1 | git checkout -b release-1.2 develop |
2 . 测试完毕后合并到 master
分支
1 | git checkout master |
3 . 对 master
合并生成的新节点,做一个标签
1 | git tag -a 1.2 |
4 . 再将预发布分支合并到 develop
分支
1 | git checkout develop |
5 . 删除预发布分支
1 | git branch -d release-1.2 |
fixbug 补丁分支
软件正式发布以后,难免会出现bug。这时就需要从 master
分支上创建一个补丁分支(命名规范:hotfix-xxx),bug 修复完成后再合并进Master和Develop分支。
1 . 从 master
分支上创建一个补丁分支
1 | git checkout -b fixbug-0.1 master |
2 . 修补结束后,合并到 master
分支
1 | git checkout master |
3 . 对 master
合并生成的新节点,做一个标签
1 | git tag -a 0.1.1 |
4 . 再合并到develop分支
1 | git checkout develop |
5 . 删除”修补bug分支”
1 | git branch -d fixbug-0.1 |
注意事项
1. 合并分支
使用 git merge
命令对分支进行合并时,一定要加上 --no-ff
参数。
假如要将 develop
分支合并到 master
分支时,默认情况下,Git执行”快进式合并”(fast-farward merge),会直接将 master
分支指向 develop
分支,此时 master
分支中包含 develop
分支中的所有提交节点,这样不利于保持 master
分支中节点的清晰。使用 --no-ff
参数后,会执行正常合并,在 master
分支上生成一个新节点。
本文作者 : 王海
原文链接 : https://blog.whai.me/2018/07/31/git-branch/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!