分支策略: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. 如何发布得到.ipa文件

    第一个方法: 如果都有证书的话,并且又不想把别人的机器添加到测试设备中,或者感觉获取UDID麻烦的话,那么就可以采用该方法了. 直接Archive应用程序: 右键显示包内容到product下复制里面的 ...

  2. Struts2(十七)验证框架二

    一.实现注册验证 package com.pb.entity; import java.util.Date; /** * 用户实体类 * */ public class User { /** * 住址 ...

  3. Android底部TabHost API

    今天在项目中遇到了底部TabHost,顺便就写了一个底部TabHost的api继承即可使用非常简单,以下为源代码: 首先是自定义的TabHostActivity,如果要使用该TabHost继承该类即可 ...

  4. 我为什么用 SQLite 和 FMDB 而不用 Core Data

    凭良心讲,我不能告诉你不去使用Core Data.它不错,而且也在变好,并且它被很多其他Cocoa开发者所理解,当有新人加入你的组或者需要别人接手你的项目的时候,这点很重要.更重要的是,不值得花时间和 ...

  5. iOS-代理反向传值<转>

    在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的 ...

  6. iOS之 动态热修补技术JSPatch

    所谓动态热修补就是把能够导致app 崩溃的严重bug,提交新版本到appstore 审核速度太慢影响用户使用,这时候就可以利用 JSPatch 可以让你用 JavaScript 书写原生 iOS AP ...

  7. 我们需要专职的QA吗?

    [ 引用评论里的一句话:hurt but true  抛开作者某些偏激的想法外,作者暴露出来的问题还是需要测试思考的: 1.TestCase,TestData,TestConfiguration 没有 ...

  8. C++ 中引用与指针的区别

    1.引用只是变量的一个别名,并不占用内存空间,而指针是一个变量,里面保存着被指向的变量在内存中的地址: 2 引用只能在定义时被初始化一次,之后不可变,而指针可变: 3 引用没有 const,指针有 c ...

  9. selinux开启关闭

    查看SELinux状态: 1./usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux status:         ...

  10. Erlang 的新数据结构 map 浅析

    更新:文中示例代码直接从Joe的新版 Erlang 书中摘抄而来,其中模式匹配的代码有错误,现已纠正.应该用 := 匹配字段,而不是 => . 即将发布的 Erlang 17 最大变化之一包括新 ...