git flow 工作流程以及常用命令
一、分支介绍
-
master
也是产品分支,只有一个,一般情况下不会在这个分支上进行代码操作
-
develop
只有一个,新特性的开发是基于 develop 开发的,但是不能直接在 develop 上进行开发,而是在基于 develop 上创建 feature 分支进行新特性的开发。
-
feature
可以同时存在多个,基于 develop 分支被创建。对于每一个新的功能可以创建一个新的 feature 分支,开发结束之后,合并到 develop 分支即可。
git flow feature start name # 执行之后,feature/name 分支就会被创建 git flow feature finish name # 执行之后,feature/name 分支的内容就会合并到 develop,并且删除 feature/name 分支。 # 当新特性开发完成过后,需要合并到 develop 上才用
-
release
release 分支是为了发布而存在的分支,基于 develop 分支被创建。
在同一时间只能有一个 release 分支,在此分支上仅仅是较少代码的修复。否则,容易引起release 分支不稳定。当 release 分支被创建之后,develop 分支可能在准备另一个版本的,因此,当 release 分支 merge 回 develop 分支时候可能会出现冲突,需要手工解决冲突。
git flow release start v.1.0 # 开始发布 git flow release finish v.1.0 # 发布 # 一系列动作 # 1.分支merge回master分支 # 2.使用release分支名称打tag # 3.release分支merge回develop分支 # 4.删除release分支。
-
hotfix
当发现 master 分支出现一个需要紧急修复的 bug,这个时候就需要使用 hotfix。基于 master 分支被创建。同一时间只有一个 hotfix 分支,生命周期比较短。
git flow hotfix start v.1.0 # 开始热修复 git flow hotfix finish v.1.0 # 结束热修复 # 会把hotfix分支merge到master和develop分支,并且删除此分支。