git学习 git-flow
初始化
- 在
git init
之后执行git init flow
;接下来的命名约定建议使用默认值;
新特性
- 为即将发布的版本开发新功能特性。
- 这通常只存在开发者的库中。
增加新特性
git flow feature start [name]
: 创建一个develop
与feature/[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/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的更多相关文章
- Git学习-Git时光机之版本回退(二)
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git ...
- git学习——Git 基础要点【转】
转自:http://blog.csdn.net/zeroboundary/article/details/10549555 简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是 ...
- git学习——git命令之创建版本库和版本退回
原文来至 一.创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追 ...
- git学习——git理解和仓库的创建
一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited ...
- git学习——git下载安装
原文来至 一.集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中 ...
- GIT学习---GIT&github的使用
GIT&github入门 版本控制的原理: 根据md5进行文件的校验[MD5的特性就是每次的输入一致则输出也一致],对于每次的修改进行一次快照 版本控制的2个功能: 版本管理 + 协作开 ...
- git学习------>Git 分支管理最佳实践
ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...
- Git学习-Git配置(一)
零.前言 Git是一个工具,就没必要把时间浪费在那些"高级"但几乎永远不会用到的命令上.一旦你真的非用不可了,到时候再自行Google或者请教专家也未迟. 如果你是一个开发人员,想 ...
- 【学习总结】Git学习-GIT工作流-千峰教育(来自B站)
Git工作流指南 - av32575602 文档资料 目录: 1-什么是版本控制系统 2-工作流简介 3-集中式工作流 4-功能分支工作流 5-GitFlow工作流 小记: 初看差点放弃了,不过后面还 ...
- 139.00.003 Git学习-Git时光机之Inbox体系(三)
一.Git时光机之Inbox 体系 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有G ...
随机推荐
- mybatis延迟加载
配置完成后可能会报错Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath 是由于 ...
- 【网络】VPN和代理服务器的区别
来自:http://www.zhihujingxuan.com/19311.html [scotttony的回答(41票)]: VPN和ssh哪个比较好, 要看你怎么定义是“好”. ssh作为一个创建 ...
- curl命令 抓取网络数据相应头
curl --verbose --data "Password=123&Username=158101068&url=http://m.vancl.com/" & ...
- 模拟赛1031d1
NP(np)Time Limit:1000ms Memory Limit:64MB题目描述LYK 喜欢研究一些比较困难的问题,比如 np 问题.这次它又遇到一个棘手的 np 问题.问题是这个样子的:有 ...
- JNDI 和JDBC的区别
1.JNDI 和JDBC的区别和联系.两者都是API,是一个标准.并不是什么产品或方法.JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样的数据库进行存 ...
- C/C++中调用python文件
1.将python27安装目录下include.libs文件夹拷贝至Demo程序目录. 2.Demo项目设置包含Python.h.python27.lib); (因为安装python27的时候,pyt ...
- 谈谈我的编程之路---WAMP(三)
WAMP的一些配置与使用心得(APACHE)说实话,我感觉apache的配置真的还是蛮复杂的,感觉好像又在学一种语言,让我用比较庞大的概念来讲述这些东西,我也没办法做到就以实际应用出发出发,简单的说一 ...
- Linux系统入门学习:在curl中设置自定义的HTTP头
http://www.linuxidc.com/Linux/2015-02/114220.htm
- RecyclerView导入依赖包
1. eclipse 上的导入: 如下进入Android SDK的如下路径, \android-sdk\extras\android\m2repository\com\android\support\ ...
- 《linux系统及其编程》实验课记录(六)
实验 6:Linux 文件系统 实验环境: 安装了 Red Hat Enterprise Linux 6.0 可运行系统,并且是成功验证系统.有另外一个无特权用户 student,密码 student ...