初始化 git flow init 最后就一路回车选择默认的就ok了
常用命令以及分支:
分支介绍:
1.master。只有一个,并且不会在master上进行代码的操作。
2.develop。只有一个,新特性的开发是基于develop开发的,但是不能直接在develop上进行开发,而是在基于develop上创建feature分支进行新特性的开发。
3.feature。可以同时存在多个,基于develop分支被创建。对于每一个新的功能可以创建一个新的feature分支,开发结束之后,合并到develop分支即可。
创建一个新的feature分支,命令:git flow feature start name 执行之后,feature/name分支就会被创建。
当新特性开发完成过后,需要合并到develop上,命令:git flow feature finish name 执行之后,feature/name分支的内容就会合并到develop,,并且删除feature/name分支。
4.release分支。release分支是为了发布而存在的分支,基于develop分支被创建。在同一时间只能有一个release分支,在此分支上仅仅是较少代码的修复。否则,容易引起release分支不稳定。
当release分支被创建之后,develop分支可能在准备另一个版本的,因此,当release分支merge回develop分支时候可能会出现冲突,需要手工解决冲突。
创建一个release分支,命令:git flow release start v.1.0
当完成release分支功能之后,执行命令:git flow release finish v.1.0。这个命令会执行以下的操作:
(
1.分支merge回master分支;
2.使用release分支名称打tag;
3.release分支merge回develop分支;
4.删除release分支。
)
5.hotfix分支。当发现master分支出现一个需要紧急修复的bug,这个时候就需要使用hotfix。基于master分支被创建。同一时间只有一个hotfix分支,生命周期比较短。
创建hotfix分支。命令:git flow hotfix start v.1.0
结束hotfix分支。命令:git flow hotfix finish v.1.0。
会把hotfix分支merge到master和develop分支,并且删除此分支。
(注意,如果bug修复时,存在release分支,那么hotfix会merge到release分支,不是develop了。)