Git Flow 工作流一共包含五种分支:
两个长期分支:
-
主分支 master:用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的分布版
-
开发分支 develop:用于日常开发,存放最新的开发版
创建Develop分支的命令: git checkout -b develop master
将Develop分支发布到Master分支的命令:
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop
三个临时性分支:
1 .功能(feature)分支:新功能分支,一般一个新功能对应一个分支,功能分支的名字,可以采用 feature-* 的形式命名。
创建一个功能分支:
git checkout -b feature-x develop
开发完成后,将功能分支合并到 develop 分支:
git checkout develop
git merge --no-ff feature-x
删除 feature 分支:
git branch -d feature-x
2 . 预发布(release)分支:发布分支是从 Develop 分支上面分出来的,用于发布测试版本,测试完后最终需要合并进 Develop 和 Master 分支。它的命名,可以采用release-*
的形式。
创建一个预发布分支:
git checkout -b release-1.2 develop
确认没有问题后,合并到 master 分支:
git checkout master
git merge --no-ff release-1.2
git tag -a 1.2 ( 对合并生成的新节点,做一个标签 )
再合并到 develop 分支:
git checkout develop
git merge --no-ff release-1.2
最后,删除预发布分支:
git branch -d release-1.2
3. 修补bug(fixbug)分支:用于修复线上版本出现的 Bug 时创建的,基于 Master 分支创建。修补结束以后,再合并进 Master 和 Develop 分支。它的命名,可以采用 fixbug-* 的形式。
创建一个修补 bug 分支:
git checkout -b fixbug-0.1 master
修补结束后,合并到 master 分支:
git checkout master
git merge --no-ff fixbug-0.1
git tag -a 0.1.1
再合并到 develop 分支:
git checkout develop
git merge --no-ff fixbug-0.1
最后,删除"修补 bug 分支":
git branch -d fixbug-0.1
这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有 Maste r和 Develop。
Git-Flow 工具使用
安装方法:brew install git-flow
基本使用:
-
-
初始化:
git flow init
-
开始新Feature:
git flow feature start MYFEATURE
-
Publish一个Feature(也就是push到远程):
git flow feature publish MYFEATURE
-
获取Publish的Feature:
git flow feature pull origin MYFEATURE
-
完成一个Feature:
git flow feature finish MYFEATURE
-
开始一个Release:
git flow release start RELEASE [BASE]
-
Publish一个Release:
git flow release publish RELEASE
-
发布Release:
git flow release finish RELEASE
别忘了git push --tags
-
开始一个Hotfix:
git flow hotfix start VERSION [BASENAME]
-
发布一个Hotfix:
git flow hotfix finish VERSION
-