git分支管理

分支规范

分支介绍

  • master

主分支,稳定永远可以待发布,不可在该分支上开发。

  • develop

开发主分支,代码永远最新;所以功能分支从该分支上checkout,develop只做合并,不做开发。

  • feature

功能分支,以feature/xxxx,功能名称命名。开发完成后合并到develop分支。

  • release

预发布分支,从合并过feature的develop分支上拉取,测试完成后合并回develop和master

  • hotfix

线上紧急bug修复分支,修复完成后合并develop和master

命名: master、develop、feature以feature/功能名、release以release/功能名、hotfix以hotfix/bug名

分支开发流程图(copy)

image.png

git flow 使用

  1. 创建develop
git branch develop  
git push -u origin develop
  1. 拉取feature
# 从develop新建feaeure分支
git checkout -b feature develop
#  推送至远程服务器
git push -u origin feature    

# 修改文件   
git status
git add .
git commit    
  1. 合并feature
git pull origin develop
git checkout develop 
##合并到develop
git merge --no-ff feature
git push origin develop
  1. 拉取release
git checkout -b release-0.1.0 develop
  1. 合并release
# 合并到master
git checkout master
git merge --no-ff release-0.1.0
git push

# 合并到develop
git checkout develop
git merge --no-ff release-0.1.0
git push

# 合并master/devlop分支之后,打上tag 
git tag -a v0.1.0 master
git push --tags

# 删除release分支
git branch -d release-0.1.0
git push origin --delete release-0.1.0   
  1. 拉取hotfix(线上紧急bug)
git checkout -b hotfix-0.1.1 master 
  1. 合并hotfix
#合并到master
git checkout master
git merge --no-ff hotfix-0.1.1
git push

#合并到develop
git checkout develop
git merge --no-ff hotfix-0.1.1
git push

# 删除hotfix分支
git branch -d hotfix-0.1.1
git push origin --delete  hotfix-0.1.1 

# 打tag
git tag -a v0.1.1 master
git push --tags

工具使用 git flow简化上面操作

  • 安装git flow :brew install git-flow-avh
  • 初始化:git flow init -f feature
  • 开始新的feature: git flow feature start xxx
  • 提交新的feature: git flow feature publish xxx
  • 拉取feature: git flow feature pull origin xxx
  • 完成feature: git flow feature finish xxx release
  • 开始release:git flow release start xxx
  • 提交: git flow release publish xxx
  • 完成release:git flow release finish xxx
  • 打tag :git tag -a v0.1.0 master ;git push --tags hot fix
  • 开始hot fix:git flow hotfix start xxx
  • 完成hot fix:git flow hotfix finish xxx

GUI工具

  1. idea安装插件 git flow integration
  • File-> Setteings->Plugins->Browse Repositories,在Browse Repositories搜索栏搜索git flow integration,然后安装后重启。

image.png

  • init repo

image.png

  • 红框修改为develop

image.png

  1. sourcetree 工具

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 工厂模式

    工厂模式属于创建对象模式,提供给客户端共同创建对象的接口,不暴露创建对象的逻辑。 统一生产对象,便于管理和解耦。 例如:想要一辆汽车,直接去4s店提货,而不...

    OPice
  • 简单的"Hello Word"用了几个线程

    今天遇到了一个很有意思的问题:写一个最简单的打印 HelloWorld 的程序,说说看,运行这个应用,Java 至少会创建几个线程呢?

    OPice
  • if-else的另一种实现

    在日常开发中,经常会需要监听某种数据的新增、删除、修改。根据不同类型做处理,通常处理:

    OPice
  • git以及github的使用(1)

    http://my.oschina.net/bxxfighting/blog/378196

    bear_fish
  • Git教程——安装和初步使用

    用户2149234
  • 使用 git 自动部署简单网站

    本文介绍的是一种直接在本地提交代码,即可自动完成服务器部署的方法。采用这种方法,可以非常方便地完成网站的更新和部署。

    腾讯IVWEB团队
  • 【Github】Github命令行快速使用教程及常见问题解决

    生成ssh key,使用命令 “ssh-keygen -t rsa -C “your_email@youremail.com””,your_email是你的em...

    后端技术漫谈
  • git 入门教程之版本控制 原

    我们知道 git 是分布式版本控制系统,所以称被控制对象是版本本身没错,但是从git 命令中发现,并没有版本这个名词,有的只是commit,所以前几节我一直称其...

    雪之梦技术驿站
  • GIT使用总结

    git认证指使用git能与github或gitlab 进行通信。这里将以github为例来说明。

    努力在北京混出人样
  • 漫谈Git和Github

    上期漫谈版本控制系统中我们谈到了版本控制系统的四个演进过程,即悲观锁版本 -> 乐观锁版本 -> 多分支版本 -> 分布式版本,目前我们使用最多的是分布式版本,...

    木可大大

扫码关注云+社区

领取腾讯云代金券