git 同步develop 到master_Git 小团队的协作 (一)

0c53b323d4a428729c8de1b3c9687839.png

目录

  • Branch 分支分类
  • Branch 分支功能详解
  • Branch 分支命令规范
  • 分支用途详解
  • 工作流程
  • git关于分支的常用命令

Branch 分类

master分支长期与线上同步

develop分支长期相对稳定版本

feature/*分支短期从develop创建

bugfix/*分支短期从develop创建

release/*分支短期从develop创建

hotfix/*分支短期从master创建

Branch 功能详解

master负责记录上线版本的迭代,该分支代码与线上代码是完全一致的主分支。

develop该分支记录相对稳定的版本,所有的 feature 分支和 bugfix分支都从该分支创建。

开发分支feature/*用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支功能分支。

bugfix/*用于修复不紧急的 bug ,普通 bug 均需要创建 bugfix 分支开发,开发完成自测没问题后合并到 develop 分支后删除该分支bug修复分支。

release/*用于代码上线准备,该分支从 develop 分支创建,创建之后由测试同学发布到测试环境进行测试,测试过程中发现 bug需要开发人员在该 release 分支上进行 bug 修复,所有 bug修复完后,在上线之前,需要合并该 release 分支到 master分支和 develop 分支发布分支。

hotfix/*该分支只有在紧急情况下使用,从 master 分支创建,用于紧急修复线上 bug,修复完成后,需要合并该分支到 master 分支以便上线,同时需要再合并到 develop 分支紧急 bug修复分支。

Branch 命令规范 :

功能分支

格式:feature/功能名称

例如:feature/loginbug

修复分支

格式:bugfix/bug名称

例如:bugfix/add-user

紧急 bug 修复分支

格式:hotfix/bug名称

例如:hotfix/delete

预发布分支

格式:release/预发布版本名称

例如:release/add-user

分支用途详解

我们刚刚熟悉了git中常用到的分支,那么这些分支有什么意义呢? 我就这么说吧,如果你是一个人开发,那么这确实没多大用处,当你在一个团队时这就发挥了很大的作用。

一般情况下,master分支是和线上版本保持一致的,那么我们需要对她非常重视,一切开发任务都不能在这里进行,因为在开发过程中如果出现bug就会弄脏master分支,如果我们在develop分支上开发,不管出什么错误我们都不需要怕,因为master是干净的,实在不行可以从master重新拉取没有问题的项目对不对?

这个就是分支其中一个作用。现在是这样的情况:我们在develop分支上完成了项目,那么之后对各个分支怎么处理呢?

过程大致是这样的: 将我们的develop分支合并到release分支,这是以个预发布分支,这个预发布分支是交给测试的同学的,测试同学在release分支上拉取完整项目进行测试,在测试过程中发现了一个bug。

测试同学找到了开发同学,开发同学在release分支上修改好问题,所有问题都解决了,这时release分支合并到master分支和develop分支。这时开发同学的develop分支是最新的,master分支也是最新的。另外一种情况是这样的:线上产品使用过程中突然出现了一个bug,这是非常紧急的情况,这时需要处理的步骤大致如下:创建一个紧急bug分支名为hotfix(命名规则看上表),将master分支拉取到hotfix分支,

紧急修改完bug之后将hotfix同步到master分支和develop分支,再删除hotfix分支。世界就回复平静了!总之分支会让你在更安全的环境下开发,git里面什么后悔药都有的。

工作流程:

  1. 克隆项目
  2. 签出并创建 dev 分支,使其跟踪远程的 origin/dev 分支。
  3. 在dev分支基础上创建自己的分支 member* 。
  4. 在自己的分支上添加文件
  5. 在自己的分支上修改文件
  6. 合并到dev分支
  7. 推送dev分支到origin/dev分支
  8. 更新 .gitignore 文件从 dev 新建一个分支 ignore (如果预测变更频繁就建立一个远程分支,现在一般都有模板,偶尔有个没有忽略的直接在dev分支上改就可以了)更新忽略文件尽快合并到推送到 origin/dev 分支 (避免两个组员同时更改该文件造成冲突。)

git 关于分支的常用命令

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git branch -d

重命名分支:git branch -m oldbranchname newbranchname

我是ElyarAnwar,在技术的道路上摸爬滚打;

热爱生活,热爱技术;如果喜欢记得点赞;

#幸福里精装房选房指南#

#幸福里改善好房评测#

#幸福里低税费选房指南#

#幸福里房源评测#

#幸福里低首付选房指南#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值