一. 主分支Master
代码库有且仅有一个主分支。所有提供给用户使用的正式版本,都发布在主分支上,且打上tag标签。
1. 查看tag
git tag
2. 打tag标签
git tag -a 1.0
3. 推送tag
git push origin --tags
二. 开发分支Develop
用于日常开发,可以生成代码的最新隔夜版本(nightly)。在正式对外发布时,将Develop分支合并到Master上。
1. 创建Develop分支
git checkout -b develop master
2. 将Develop分支合并到Master分支上
切换到Master分支
git checkout master
对Develop分支进行合并
git merge --no-ff develop
三. 临时分支
临时分支分为三种:功能分支,预发布分支和修补bug分支。这三种分支都在开发完成后删除,使得代码库的常设分支始终只有Master和Develop。
1. 功能分支
开发某种特定功能,从Develop分支上分出来,开发完成后合并入Develop,以feature-*命名。
1)创建功能分支
git checkout -b feature-x develop
2)将功能分支合并到develop分支
git checkout develop
git merge --no-ff feature-x
3)删除
git branch -d feature-x
2. 预发布分支
用于在发布正式版本之前(即合并到Master分支前),对预发布版本进行测试。从Develop分支上分出来,预发布结束后合并到Develop和Master分支。以release-*命名。
1)创建预发布分支
git checkout -b release-1.2 develop
2)确认没问题后,合并到master分支
git checkout master
git merge --no-ff release-1.2
git tag -a 1.2
3)合并到develop分支
git checkout develop
git merge --no-ff release-1.2
3)删除
git branch -d release-1.2
3. 修补bug分支
用于在软件正式发布之后进行bug修补。从Master分支上面分出来,修补结束后,再合并进Master和Develop分支,以fixbug-*命名。
1)创建修补bug分支
git checkout -b fixbug-1.5.1 master
2)修补结束后,合并到master分支
git checkout master
git merge --no-ff fixbug-1.5.1
git tag -a 1.5.1
3)合并到develop分支
git checkout develop
git merge --no-ff fixbug-1.5.1
3)删除
git branch -d fixbug-1.5.1