分支策略:git上始终保持两个分支,master分支与develop分支。master分支主要用于发布时使用,而develop分支主要用于开发使用。

创建master的分支develop
git checkout -b develop master

切换到master分支
git checkout master

合并develop分支到master
git merge --no-ff develop

除了以上两个常驻分支外,我们还可以适当分支出三种分支:功能分支、预发布分支、修补分支,这三种分支使用完后也该删除,保持两个常驻分支。

功能分支:该分支从develop中分支出来,开发完成后再合并入develop,名字采用feature-* 的形式命名。
创建功能分支:
  git checkout -b feature-x develop
开发完成后,合并到develop分支:
  git checkout develop
  git merge --no-ff feature-x
最后删除分支:
  git branch -d feature-x

预发布分支:正是版本发布前,既合并到master分支前,因此预发布分支是从develop分支出来的,预发布后,必修合并进develop和master。命名采用release-*的形式。
创建一个预发布分支:
  git checkout -b release-* develop
确认版本没有问题后,合并到master分支:
  git checkout master
      git merge --no-ff release-*
对合并生成的新节点,做一个标签:
  git tag -a 1.2
再合并到develop分支:
  git checkout decelop
  git merge --no-ff release-*
最后删除分支:
  git branch -d release-*

修补分支:主要用于修改bug的分支,从master分支分出来,修补后,在合并进master和develop分支。命名采用fixbug-*形式。
创建一个修补分支:
  git checkout -b fixbug-* master
修补结束后,合并到master分支:
  git checkout master
  git merge --no-ff fixbug-*
  git tag -a 0.1.1
再合并到develop分支:
  git checkout develop
  git merge --no-f fixbug-*
最后删除分支:
  git branch -d fixbug-*

Git之分支创建策略的更多相关文章

  1. git 远程分支创建与推送

    git 远程分支创建与推送   原文地址:http://hi.baidu.com/lingzhixu/blog/item/4a9b830bb08a329fe850cd5b.html 本地分支的创建 本 ...

  2. git branch 分支创建时间排序

    git branch日期排序 vi ~/.gitconfig [alias]lb = !"for k in `git branch -a|perl -pe s/^..//`;do echo ...

  3. git远程分支创建,本地分支关联远程分支,第一次发布、更新分支

    git远程分支创建,本地分支关联远程分支,第一次发布.更新分支 github托管服务器地址为https://github.com git提交更新代码示意图: 本地与远程进行免密码配置(本地与远程关联) ...

  4. Git 分支管理策略

    分支管理策略 下面我们来说一下一般企业中开发一个项目的分支策略: 主分支 master 开发分支 develop 功能分支 feature 预发布分支  release bug 分支 fixbug 其 ...

  5. 梳理git分支管理策略

    如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...

  6. git分支管理之分支管理策略

    分支管理策略 阅读: 246888 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就 ...

  7. git多人协作式开发时分支管理策略

    什么是 git-flow? Git Flow是一套使用Git进行源代码管理时的一套行为规范 主分支Master 首先,代码库应该有一个.且仅有一个主分支.所有提供给用户使用的正式版本,都在这个主分支上 ...

  8. SVN创建分支主干策略

    本篇目录 前言 SVN分支管理策略 VisualSVN Server TortoiseSVN客户端 Repository的创建 Check out trunk创建新项目MyProject trunk更 ...

  9. git 分支管理策略 与 物理实现 --author by阮一峰 & 小鱼

    -------------------------下面是阮一峰博士的git branch 逻辑结构图示---------------------------------------------- 如果 ...

随机推荐

  1. c++类的定义《一》

    最近好忙,一来要在店里看店,二来朋友办结婚酒,搞的我这几天好疲惫啊···博客又有好几天没提笔了. 下午简单看了下书,看到了类的部分,自己动手练习了一下 笔记:1.类是数据类型 / 它的变童就是对象  ...

  2. Force.com微信开发系列(五)自定义菜单进阶及语音识别

    在上文里我们介绍了如何通过Force.com平台里为微信账号添加自定义菜单,本文里我们将进一步介绍如何查询菜单以及删除菜单的相关知识,最后会介绍微信平台如何进行语音识别的相关技术. 查询菜单 与创建菜 ...

  3. ubuntu下nagios配置

    参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blo ...

  4. RecyclerView解析--onViewDetachedFromWindow()/onViewAttachedToWindow()

    先看这段源码介绍: /** * Called when a view created by this adapter has been detached from its window. * * &l ...

  5. CSS ID选择器(三)

    一.ID选择器 ID选择器使用"#"前缀标识符进行标识,后面紧跟指定的元素的ID名称. 如 #box{ width:100px; height:100px;} 元素的ID名称是唯一 ...

  6. OC-分类

    1.不能再分类里面添加属性, 只能添加方法. 2.如果在分类里面使用@property,那么他只生成sette,getter的声明而没有实现. 3.如在在分类中写了与本类同名的方法,优先调用分类里面的 ...

  7. block做方法参数时--block的参数传值过程 例1

    说明:此例子中方法的调用在此文中是从下到上调用的.(即:     方法五调用方法四:      方法四调用方法三) 方法一:- (void)setCompletionBlockWithSuccess: ...

  8. swipe js dynamic content

    swipe js dynamic content swipe 动态改变内容时,需要用 update 一下. swiper.update(true); 实例: HTML Code  页面用的FreeMa ...

  9. 【转载】小米2进入recovery的方法

    用过M1的朋友都多多少少的了解到~进入recovery是关机下同时 按 音量(+)+电源键. 其实M2也一样,但是我觉得是有点区别的. 在M1的时候,只要同时长按这两个键就可以的了. 但是M2呢?我发 ...

  10. iOS 应用架构浅谈

    当我们讨论客户端应用架构的时候,我们在讨论什么? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情: 简单来说就是调API,展示页面,然后跳转到别的地方再调API,再展示页面. App确实就 ...