Git分支

Git分支

项目中长期存在的两个分支

  • master:主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。
  • develop:开发分支,该分支记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。

其它分支为短期分支,其完成功能开发之后需要删除

  • feature/*:特性(功能)分支,用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支。
  • bugfix/*:bug修复分支,从develop分支创建,用于修复不紧急的bug,普通bug均需要创建bugfix分支开发,开发完成自测没问题后合并到 develop 分支后,删除该分支。
  • release/*:发布分支,用于代码上线准备,该分支从develop分支创建,创建之后由测试同学发布到测试环境进行测试,测试过程中发现bug需要开发人员在该release分支上进行bug修复,所有bug修复完后,在上线之前,需要合并该release分支到master分支和develop分支。
  • hotfix/*:紧急bug修复分支,该分支只有在紧急情况下使用,从master分支创建,用于紧急修复线上bug,修复完成后,需要合并该分支到master分支以便上线,同时需要再合并到develop分支。
    在这里插入图片描述
    在这里插入图片描述

分支命令规范

特性(功能)分支
功能分支的分支名称应该为能够准确描述该功能的英文简述表述

feature/分支名称

bug修复分支、紧急bug修复分支
bug修复分支的分支名称可以为项目中bug代码或者是描述该bug的英文名称

bugfix/分支名称
hotfix/分支名称

release分支
release分支为预发布分支,命名为本次发布的主要功能英文简称

release/分支名称

常用操作命令简介

基本操作

git commit

git add [-all]

git push

git pull

git branch [-d]

git merge

git cherry-pick

git checkout [-b] BRANCH_NAME

git stash

使用git flow简化操作
git flow是git的一个插件,可以极大程度地简化执行git标准分支流程的操作

初始化
使用git flow init初始化项目

git flow init

功能分支

git flow feature

git flow feature start <name>

git flow feature finish <name>

git flow feature delete <name>

git flow feature publish <name>

git flow feature track <name>

预发布分支

git flow release

git flow release start <release> [<base>]

git flow release finish <release>

git flow release delete <release>

hotfix分支

git flow hotfix

git flow hotfix start <release> [<base>]

git flow hotfix finish <release>

git flow hotfix delete <release>

发布代码流程

发布Release
首先切换到release分支,之后依次执行下面的命令

git flow release finish

git push --all

git push --tags

发布Hotfix
首先切换到hotfix分支,依次执行下面的命令

git flow hotfix finish

git push --all

git push --tags

总结

  • 所有新功能开发,bug修复(非紧急)都要从develop分支拉取新的分支进行开发,开发完成自测没有问题再合并到develop分支
  • release分支发布到测试环境,由开发人员创建release分支(需要测试人员提出需求)并发布到测试环境,如果测试过程中发现bug,需要开发人员track到该release分支修复bug,上线前需要测试人员提交merge request到master分支,准备上线,同时需要合并回develop分支。
  • 只有紧急情况下才允许从master上拉取hotfix分支,hotfix分支需要最终同时合并到develop和master分支(共两次merge操作)
  • 除了master和develop分支,其他分支在开发完成后都要删除。

参考文章:
https://wenku.baidu.com/view/f6d8b0fb6aec0975f46527d3240c844768eaa058?fromShare=1
https://www.jianshu.com/p/c2aefcf6b2b7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值