初始化

  • git init之后执行git init flow;接下来的命名约定建议使用默认值;

新特性

  • 为即将发布的版本开发新功能特性。
  • 这通常只存在开发者的库中。

增加新特性

  • git flow feature start [name]: 创建一个developfeature/[name]分支;

完成新特性

  • git flow feature finish [name]

    * 合并[name]到develop;

    * 删除该特性分支;

    * 切换回develop分支;

发布新特性

  • git flow feature publish [name]

q取得发布的新特性

  • git flow feature pull [name]

作为release版本

  • 支持一个新的用于生产环境的发布版本。
  • 允许修正小问题,并为发布版本准备元数据

准备release版本

  • git flow release start [name] [BASE] : base为提交的一个哈希值;

    * 从 'develop' 分支开始创建一个 release 分支。

发布release版本

  • git flow release publish [name]

完成 release 版本

  • git flow release finish [name]

    * 归并release分支到master分支;

    * 用release分支名打 Tag;

    * 归并release分支到develop;

    * 移除release分支

紧急修复

  • 生产环境的版本处于一个不预期状态,需要立即修正;
  • 有可能是需要修正 master 分支上某个 TAG 标记的生产版本;

开始 git flow 紧急修复

  • git flow hotfix start VERSION [BASENAME]

    * VERSION 参数标记着修正版本,可以从 [BASENAME]开始;

    * [BASENAME]为finish release时填写的版本号;

完成紧急修复

  • git flow hotfix finish VERSION

    * 当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。

git hooks

git tag

  • 打标签: git tag v0.1
  • 搜索标签: git tag -l v1.4.2.*
  • 创建附注标签 git tag -a v0.1.2 -m "..."
  • 切换到标签: git checkout [tagname]
  • 删除标签: git tag -d v0.1.2
  • 标签发布
git push origin v0.1.2 //将v0.1.2标签提交到git服务器
git push origin –-tags //将本地所有标签一次性提交到git服务器

git学习 git-flow的更多相关文章

  1. Git学习-Git时光机之版本回退(二)

    Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git ...

  2. git学习——Git 基础要点【转】

    转自:http://blog.csdn.net/zeroboundary/article/details/10549555 简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是 ...

  3. git学习——git命令之创建版本库和版本退回

    原文来至 一.创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追 ...

  4. git学习——git理解和仓库的创建

    一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited ...

  5. git学习——git下载安装

    原文来至 一.集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中 ...

  6. GIT学习---GIT&github的使用

    GIT&github入门 版本控制的原理: 根据md5进行文件的校验[MD5的特性就是每次的输入一致则输出也一致],对于每次的修改进行一次快照 版本控制的2个功能: 版本管理  +   协作开 ...

  7. git学习------>Git 分支管理最佳实践

    ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...

  8. Git学习-Git配置(一)

    零.前言 Git是一个工具,就没必要把时间浪费在那些"高级"但几乎永远不会用到的命令上.一旦你真的非用不可了,到时候再自行Google或者请教专家也未迟. 如果你是一个开发人员,想 ...

  9. 【学习总结】Git学习-GIT工作流-千峰教育(来自B站)

    Git工作流指南 - av32575602 文档资料 目录: 1-什么是版本控制系统 2-工作流简介 3-集中式工作流 4-功能分支工作流 5-GitFlow工作流 小记: 初看差点放弃了,不过后面还 ...

  10. 139.00.003 Git学习-Git时光机之Inbox体系(三)

    一.Git时光机之Inbox 体系 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有G ...

随机推荐

  1. mybatis延迟加载

    配置完成后可能会报错Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath 是由于 ...

  2. 【网络】VPN和代理服务器的区别

    来自:http://www.zhihujingxuan.com/19311.html [scotttony的回答(41票)]: VPN和ssh哪个比较好, 要看你怎么定义是“好”. ssh作为一个创建 ...

  3. curl命令 抓取网络数据相应头

    curl --verbose  --data "Password=123&Username=158101068&url=http://m.vancl.com/" & ...

  4. 模拟赛1031d1

    NP(np)Time Limit:1000ms Memory Limit:64MB题目描述LYK 喜欢研究一些比较困难的问题,比如 np 问题.这次它又遇到一个棘手的 np 问题.问题是这个样子的:有 ...

  5. JNDI 和JDBC的区别

    1.JNDI 和JDBC的区别和联系.两者都是API,是一个标准.并不是什么产品或方法.JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样的数据库进行存 ...

  6. C/C++中调用python文件

    1.将python27安装目录下include.libs文件夹拷贝至Demo程序目录. 2.Demo项目设置包含Python.h.python27.lib); (因为安装python27的时候,pyt ...

  7. 谈谈我的编程之路---WAMP(三)

    WAMP的一些配置与使用心得(APACHE)说实话,我感觉apache的配置真的还是蛮复杂的,感觉好像又在学一种语言,让我用比较庞大的概念来讲述这些东西,我也没办法做到就以实际应用出发出发,简单的说一 ...

  8. Linux系统入门学习:在curl中设置自定义的HTTP头

    http://www.linuxidc.com/Linux/2015-02/114220.htm

  9. RecyclerView导入依赖包

    1. eclipse 上的导入: 如下进入Android SDK的如下路径, \android-sdk\extras\android\m2repository\com\android\support\ ...

  10. 《linux系统及其编程》实验课记录(六)

    实验 6:Linux 文件系统 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...