git flow使用
Gitflow是一个git的扩展集,是代码仓库管理框架,其使用两个分支来记录项目开发的历史,而不是使用单一的master分支。在Gitflow流程中,master只是用于保存官方的发布历史,而develop分支才是用于集成各种功能开发的分支。使用版本号为master上的所有提交打标签(tag)也很方便。
分支介绍:
1、master
只有一个,并且不会在master上进行代码的操作。
2、develop
只有一个,新特性的开发基于develop,但是不能直接在develop上进行开发,而是在基于develop创建的feature分支进行开发。
3、feature
基于develop分支被创建,可以同时存在多个。对于每一个新的功能可以创建一个新的feature分支,开发结束之后,合并到develop分支即可。
4、release
基于develop分支被创建,该分支是为了发布而存在的分支,在同一时间只能有一个release分支,在此分支上仅仅是较少代码的修复。
5、hotfix
基于master分支被创建,同一时间只有一个hotfix分支。
Gitflow流程使用步骤:
1、git flow init
初始化。执行该命令时,一路enter直到完成就可以了。
2、git flow feature start name //创建一个新的feature分支。
git flow feature publish name //创建feature分支后,需要执行该命令,将该分支推送到远程库。
git flow feature finish name //当feature分支功能开发完成之后,执行该命令后,会合并到develop上,并且该分支会被删除。
3、git flow release start name develop //创建一个release分支。
git flow release publish name //创建release分支后,需要执行该命令,将该分支推送到远程库。
git flow release finish name -m"tag信息" //当完成release分支功能之后,执行该命令,会合并到master分支以及develop分支,使用release分支名称打tag,并且该分支会被删除。
git push --tags //需要执行该命令将tag提交到远程库。
切换到master和develop分支执行:git push
4、git flow hotfix start name master //创建一个hotfix分支。
git flow hotfix finish name //当完成该分支功能之后,执行该命令,会合并到master和develop分支,并且删除该分支。但是:如果存在release分支,那么hotfix会合并代码到release分支,而不是develop。