sourcetree中GitFlow操作学习


主要对GitFlow多人协作开发时的工作流程做份学习记录。因日常开发多用SourceTree软件,所以记录基于本软件,GUI界面操作,对于GIT命令只熟悉部分简单操作,尚有改进空间,以后多多努力!!

环境

环境:

  1. 实体机器Win7 64bit
  2. SourceTree 2.6.10.0
  3. 代码仓库:码云(https://gitee.com/)

分支介绍

首先了解下GitFlow中所使用到的各分支功能及特性。之后再进行操作流程介绍。
master分支

master分支:生产环境分支。
是保证系统在生产环境时能够稳定正常进行,用于记录每个正式发布版本。因此该分支不允许开发者直接进行修改和提交。

允许合并的分支:release分支(发布分支)、hotfix(修复BUG分支)。
初始代码来源:仓库创建时
创建时机:仓库初始化

develop分支
develop分支:开发环境分支
开发过程中代码中心分支,保持开发过程中的最新代码。一般情况下,该分支也不允许开发者直接进行修改和提交。开发过程中以develop分支作为起点,进行新功能的开发和BUG修正。

允许合并的分支:feature分支(功能分支)、release分支(发布分支)、hotfix(修复BUG分支)。
初始代码来源:master分支
创建时机:master创建完成

feature分支
feature分支:功能分支
衍生与develop分支,主要用于多人协作开发场景或探索性功能验证场景。feature分支可以创建多个,功能实现后进行代码合并至develop。本分支属于临时分支,目的完成后可以删除分支。

允许合并的分支:不允许任何分支合并
初始代码来源:推荐develop分支
创建时机:需要开发新的功能
完成操作:合并至develop分支

release分支
release分支:发布版本分支
该分支基于develop分支,当产品编码完成后,发布到release分支。测试中发现BUG可以在本分支进行修复,修复完成后合并到develop分支。本分支属于临时分支,目的完成后可以删除分支。

允许合并的分支:不允许任何分支合并
初始代码来源:推荐develop分支
创建时机:线上代码满足发布要求
完成操作:合并至master/develop分支

hotfix分支
hotfix分支:BUG修复分支,基于master分支,主要用于对外发布的分支,收到BUG反馈后在此分支进行修复,修复完成后分别合并入develop分支和master分支。本分支属于临时分支,目的完成后可以删除分支。

允许合并的分支:不允许任何分支合并
初始代码来源:master分支
创建时机:发布版本出现BUG
完成操作:合并至master/develop分支


SourceTree上流程

1. 初始化仓库

首先Clone一个仓库到本地,远程仓库放在码云上。Clone后,SourceTree上会出现master分支。
在这里插入图片描述
初始化GitFlow
在这里插入图片描述
两个永久分支 点击GitFlow操作,显示创建临时分支
初始化GitFlow后会出现develop分支。develop分支和master分支为项目中的永久分支。开发者开发过程中的操作均围绕这两个分支进行派生和合并。正常情况下不允许开发人员直接在develop和master两个分支上直接进行写操作。初始化后,项目的分支除了这两个永久分支外,还有feature(功能分支)、release(版本发布分支)、hotfix(修复补丁分支)三种临时性分支。

2. 添加功能分支

2.1添加功能分支模拟
添加功能分支(add_new_feature_1),并进行三次功能文件提交(提交至本地,不推送远程origin)。
在这里插入图片描述
在这里插入图片描述
选择 Git工作流-完成任务,将功能分支代码合并入本地develop,并推送至远程(origin)。
在这里插入图片描述
在这里插入图片描述
2.2多人协作开发时添加功能分支模拟
a、创建第一个功能分支(update_feature_1)对上个功能里面的add_feature_1进行修改,并进行第一次提交。
b、返回develop,创建第二个功能分支(add_feature_1)对上个功能里面的add_feature_1进行修改,并进行第一次提交。
c、循环以上步骤,分别对两个功能分支进行提交操作
在这里插入图片描述
d、分别完成功能分支,合并入develop。如果有冲突解决冲突后,再推送远程。
发生冲突问题:
出现<<<<<<< HEAD、=======、>>>>>>> feature/F_feature_2,HEAD和=号之间表示当前分支下的代码,=号和>>>>>>> feature/F_feature_2之间表示要合并的分支下的代码,>>>>>>> feature/F_feature_2表示了要合并的分支的分支名称。
根据实际的情况,进行修改。一定要确保修改后的文件可以完成合并之前的全部功能。

在这里插入图片描述

3. 发布版本分支

在develop下简历发布分支(realeae分支),进入预发布测试阶段。BUG直接在该分支上处理。(该分支是否提交至远程分支origin,目前还未理解,此处添加一个tip。预发布分支(类似测试分支)一般部署在站点上,供测试人员进行测试和其他人员体验,而站点上的代码是从git拉取,及(origin/realease/pre_v1.0.0)分支上拉取。所以我暂定此处上传至远程
在这里插入图片描述
合并入develop和master分支
在这里插入图片描述

/

参考文档:
https://www.jianshu.com/p/8a3988057d0f
https://www.jianshu.com/p/b89851446592
https://blog.csdn.net/crjmail/article/details/78166923

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值