Git Flow使用规范

Git Flow使用规范

Sourcetree使用

Clone远程项目或者Add本地git项目

descript

初始化Git Flow

切换相应的项目tab,点击右上角的Git工作流按钮,弹框点击确定初始化gitflow。也可通过git命令行(git flow init )初始化,提示选择一个分支作为功能分支基础版本(一般dev/develop分支)。descript

descript

使用Git Flow

点击Git工作流,新增功能分支feature,发布分支release, 修复分支hotfix 。

descript

新建功能分支

descript

关闭功能分支

开发完成后,点击完成功能按钮,并按具体情况选择是否保留分支,建议保留一段时间后再清除。发布版本操作和修复版本操作类似。

descript

descript

分支命令规范

  1. 功能开发分支名:feature_xxx功能英文名称_需求id编号
  2. 开发分支:dev(develop)
  3. 待发布分支:release
  4. 生产分支:master
  5. hotfix修复分支:fix_功能名称_V功能版本号+1

注意: 除历史待上线分支外,git仓库只会存在以下分支:

master

dev

feature/feature_xxx

release/release_xxx

hotfix/hotfix_xxx

分支操作规范

开发阶段:创建功能分支,开发完成finish并保留feature_xxx分支。

测试阶段:在feature_xxx修改,继续finish并保留feature_xxx分支。

验收阶段:只能在release_xxx分支修改bug。

需求回滚:删除dev分支,重新拉取master到dev分支,重新选择保留的功能分支finish和重新创建release发版分支。

上线完成:需求上线成功,master代码手动合并到dev分支,相关的feature_xxx和release_xxx分支需要及时手动删除。

Git Flow常用命令

  1. git flow init:初始化Git Flow工作流程。这个命令将为您的项目配置Git Flow,并创建所需的分支(如master、develop等)。
  2. git flow feature start <feature-name>:创建一个新的功能分支并切换到该分支上开始开发新功能。
  3. git flow feature finish <feature-name>:完成一个功能分支的开发并将其合并回develop分支。在合并完成后,该功能分支将被删除。
  4. git flow release start <release-version>:创建一个新的发布分支,准备进行版本发布。通常在该分支上进行版本相关的bug修复和准备工作。
  5. git flow release finish <release-version>:完成一个发布分支,合并回master分支,同时也会将修改合并回develop分支。在合并完成后,会为该版本打上标签,并删除发布分支。
  6. git flow hotfix start <version>:创建一个新的热修复分支,用于紧急修复生产环境中的bug。
  7. git flow hotfix finish <version>:完成一个热修复分支,将修复的内容合并回master分支和develop分支,并为修复版本打上标签。

Q&A

  1. 创建发版分支报错,因为远程已经存在release分支,用gitflow创建发版分支release/release_xxx会出现分支冲突。

descript

解决方案:删除远程和本地release分支或者修改release名称。首次jekins发版也会报错,找@刘国晋 帮忙清除下原有分支缓存。

  1. 本地创建多个hotfix分支报错。

descript

解决方案:本地已经存在hotfix分支,删掉所有的本地的hotfix分支,重新创建就可以了。

  1. 多次关闭hotfix分支报错。

descript

解决方案:因为之前finish已经默认打过与hotfix分支同名的Tag,按需要可以:1.手动填写标签名称更换标签名称。2.删掉已经打过同名的Tag. 3.去掉勾选,不打此次Tag。

descript

posted @ 2024-07-05 14:50  曹化金  阅读(102)  评论(0编辑  收藏  举报