Git Flow版本管理工具,我推荐使用sourcetree,sourcetree完美的实现了我们Git Flow的功能。
在这里插入图片描述
上篇我们描述了上图的整体流程,和官方版本区别在于新增了uat分支,下面我们基于上图通过sourcetree实现我们的版本管理。
1. sourcetree安装
这里我们使用SourceTreeSetup-2.4.8.0版本。安装时需要跳过注册,新建文件accounts.json放到安装目录(C:\Users\user\AppData\Local\Atlassian\SourceTree)。
accounts.json文件内容如下:

[
  {
    "$id": "1",
    "$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
    "Authenticate": true,
    "HostInstance": {
      "$id": "2",
      "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
      "Host": {
        "$id": "3",
        "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
        "Id": "atlassian account"
      },
      "BaseUrl": "https://id.atlassian.com/"
    },
    "Credentials": {
      "$id": "4",
      "$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
      "Username": "",
      "Email": null
    },
    "IsDefault": false
  }
]

2. clone仓库
将远程仓库代码clone到本地指定目录
在这里插入图片描述

3. 仓库初始化
克隆完成后,得到的是发布后的master源码,如果想要获取最新的正在开发中的源码,需要对项目流进行初始化,点击“Git工作流”。
在这里插入图片描述
4. 新建功能分支
当有新的产品或新的优化需求时,需要根据develop分支新建feature(功能分支)。点击“Git工作流”->“建立新的功能”
在这里插入图片描述
5. 新建发版版本
当develop分支测试没有问题后,管理员针对当前提交新建release分支(预上线分支)。点击“Git工作流”,选择“建立新的发布版本”。
在这里插入图片描述
6. 新建紧急修复分支
在这里插入图片描述
问题修复后点击“Git工作流”,选择“完成补丁修复”进行hotfix分支合并。
在这里插入图片描述
7. 多分支并行开发冲突解决
新建功能分支feature-201812290002及feature-201812290003,修改同一个文件并提交。
在这里插入图片描述当两个分支开发完成后合并至develop,先合并feature-201812290002,再合并feature-201812290003此时会产生冲突:
合并feature-201812290002:
在这里插入图片描述
合并feature-201812290003:
在这里插入图片描述
此时会出现冲突:
在这里插入图片描述
选择“文件状态”下的“工作副本”此时会看到冲突文件。
在这里插入图片描述
选择冲突文件右键选择“解决冲突”下的“打开外部合并工具”。
在这里插入图片描述
若已关联外部冲突解决工具,则会出现如下窗口,进行冲突解决。
在这里插入图片描述

冲突解决后,备注冲突解决原因,并提交。
在这里插入图片描述
8. 多分支并行开发版本回滚
若回滚feature-201812290003分支提交,操作如下:
选择要回滚分支的上一分支提交,右键“重置当前分支到此次提交”,选择“强行合并-丢弃所有改动过的工作副本”
在这里插入图片描述在这里插入图片描述
再选择最新提交右键“重置当前分支到此次提交”,选择“软合并-保持所有本地改动”
在这里插入图片描述
在这里插入图片描述此时查看 “工作副本”可以看到已经将feature-201812290003分支提交回滚。

9. 多分支并行开发遴选
遴选是指只合并分支上的某个提交,当多个分支合并至develop后,若发现现在只需要一个分支此时可以采用遴选功能。
在这里插入图片描述
10. feature分支合并至uat分支
选中uat分支(uat分支也是基于develop新建的功能分支),在需要合并至uat分支的feature分支上右键“合并***至当前。
在这里插入图片描述
上面就基于sourcetree实现了gitflow版本管理的整个操作过程。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐