Git 代码分支管理

发布 : 2018-07-31 分类 : Notes 浏览 :

代码分支包含以下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
2
git checkout develop
git merge --no-ff feature-xxx

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
2
git checkout master
git merge --no-ff release-1.2

3 . 对 master 合并生成的新节点,做一个标签

1
git tag -a 1.2

4 . 再将预发布分支合并到 develop 分支

1
2
git checkout develop
git merge --no-ff release-1.2

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
2
git checkout master
git merge --no-ff fixbug-0.1

3 . 对 master 合并生成的新节点,做一个标签

1
git tag -a 0.1.1

4 . 再合并到develop分支

1
2
git checkout develop
git merge --no-ff fixbug-0.1

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 许可协议。转载请注明出处!
留下足迹