Git 最显著的优势之一:版本的分支(branch)和合并(merge)node
- 代码库应该有一个、且仅有一个主分支
- 全部提供给用户使用的正式版本,都在这个主分支上发布
- Git主分支的名字,默认叫作Master,是自动创建的,版本库初始化之后,默认就是在主分支在进行开发
- 主分支:用来分布重大版本
- 开发(Develop):在另外一条分支上完成
- 这个分支能够用来生成代码的最新隔夜版本(nightly)
- 若是想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)
# 建立 Develop 分支
$ git checkout -b develop master
将 Develop 分支发布到 Master 分支
# 切换到Master分支
$ git checkout master
# 对Develop分支进行合并
$ git merge --no-ff develop
1* 主(Master)分支
2* 开发(Develop)分支
3* 功能(feature)分支
4* 预发布(release)分支
5* 修补bug(fixbug)分支
命名形式:feature-*git
1# 建立一个功能分支 2$ git checkout -b feature-x develop 3 4# 将功能分支合并到develop分支 5$ git checkout develop 6 7$ git merge --no-ff feature-x 8 9# 删除feature分支 10$ git branch -d feature-x
- 第二种是预发布分支,在发布正式版本以前(即合并到Master分支以前),对预发布的版本进行测试
- 预发布分支是从Develop分支上面分出来的,预发布结束之后,必须合并进Develop和Master分支
1# 建立一个预发布分支 2$ git checkout -b release-1.2 develop 3 4# 合并到 master 分支 5$ git checkout master 6$ git merge --no-ff release-1.2 7 8# 对合并生成的新节点,作一个标签 9$ git tag -a 1.2 10 11# 再合并到develop分支 12$ git checkout develop 13$ git merge --no-ff release-1.2 14 15# 删除预发布分支 16$ git branch -d release-1.2
- 最后一种是修补bug分支
- 软件正式发布之后,不免会出现bug。要建立一个分支,进行bug修补
- 修补bug分支是从Master分支上面分出来的
- 修补结束之后,再合并进Master和Develop分支
- 它的命名,能够采用fixbug-*的形式
1# 建立一个修补bug分支 2$ git checkout -b fixbug-0.1 master 3 4# 修补结束后,合并到master分支 5$ git checkout master 6$ git merge --no-ff fixbug-0.1 7$ git tag -a 0.1.1 8 9# 再合并到develop分支 10$ git checkout develop 11$ git merge --no-ff fixbug-0.1 12 13# 最后,删除"修补bug分支" 14$ git branch -d fixbug-0.1