如果git(icode)不加管理,可能出现枝节蔓生、四处开放的版本库。到处都是分支,完全看不出主干发展的脉络,造成下图的局面:

为了降低合并和版本管理的成本,团队引入一种值得借鉴的管理方式(link)

1.存在一条主分支(master)。所有用户可见的正式版本,都从master发布。主分支作为稳定的唯一代码库,不做任何开发使用。

拉取源:无需。

合并目标:无需。

修改:不允许。

生命期:持续。

2.存在一条开发分支(develop)。这个分支维护了当前开发中代码的主线,始终保持代码新于master。持续集成、最新隔夜版本的生成等都是基于这个分支。由于当前版本迭代较快,开发分支只提供拉取,不进行实际开发。

拉取源:master。

合并目标:无需。

修改:不允许。

生命期:持续。

3.临时性多个功能分支(feature)。从develop拉取。开发feature完成,merge回develop。为了降低对其他feature的影响,一般在提测前merge回develop分支。

拉取源:develop。

合并目标:develop。

修改:允许。

生命期:合并后删除。

4.临时性多个预发布(测试)分支(release),用于QA测试。从develop拉取,测试完成merge回master和develop。如果测试期间,有其他版本合并入master,需要同步到release版本,并进行测试。

拉取源:develop。

合并目标:master & develop。

修改:允许。

生命期:合并后删除。

4. 临时性多个bug修复分支(fixbug),用于修复线上问题。从master拉取,修复并测试完成merge回master和develop。如果修复期间,有其他版本合并入master ,需要同步到fixbug版本,并进行测试。

拉取源:master。

合并目标:master,develop。

修改:允许。

生命期:合并后删除。

以上内容,参考了文章:

http://nvie.com/posts/a-successful-git-branching-model/

http://www.ruanyifeng.com/blog/2012/07/git.html

转载于:https://www.cnblogs.com/charlesblc/p/6051569.html

git(icode)分支及发布管理方式相关推荐

  1. git整合分支的两种方式 merge 和 rebase

    git merge 和 git rebase 是整合分支的两种不同方式. 两者最大的区别是整合后的提交记录 两者没有绝对的好坏,适用不同的场景 一般的开发使用merge即可.除非对提交记录有特别的要求 ...

  2. git的使用学习(五)git的分支管理

    分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平 ...

  3. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  4. Git创建分支的正确方式

    创建分支有两种方式:本地创建分支和远程创建分支.根据不同场景,选择不同的分支创建方式. 本地创建分支 如果你本地已经安装了 git 命令行工具,你可以直接操作 git 命令来创建分支.前提要拉取远程仓 ...

  5. 实际项目中如何使用Git做分支管理

    [版权申明] 非商业目的注明出处可自由转载 出自:shusheng007 相关文章 Git日常开发常用命令汇总 文章目录 前言 概述 Git的基本使用方法 使用Git管理项目的方式 主分支 支持分支 ...

  6. Git分支:什么是分支,如何管理分支?

    一.前言 如果有人问你,当下最流行的"版本管理系统"(Version Control System)是什么,那你一定要毫不犹豫的告诉他,非Git莫属. Git 相比同类软件,Git ...

  7. GIT教程 — 分支管理(二)

    分支管理 我们在上一篇博客分支的基本操作当中已经学会了,创建,查看,切换,合并,删除一个分支, 那么既然我们拥有了基础的知识之后 ,那我们需要如何实际运用分支呢? 那么在这个博客我们就能够找到答案.  ...

  8. linux下git分支管理,git远程分支管理

    git远程分支管理 使用分支的原则 master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上 创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并 ...

  9. git 远程仓库管理 分支创建、管理、查看、切换

    作用: 区分生产环境代码以及开发环境代码 研究新的功能或者攻关难题 解决线上bug 特点: 项目开发中公用分支包括master.dev 分支master是默认分支,用于发布,当需要发布时将dev分支合 ...

  10. Git 代码分支管理 / 版本管理

    Git 代码分支管理 / 版本管理 在使用 Git 时,基本不可能只有一个分支. 即使只有一个人发开,也会考虑代码的安全而分多个分支.多人协同开发时,可能每个人在不同的分支开发,也可能不同团队在不同的 ...

最新文章

  1. 吴恩达机器学习笔记 —— 5 多变量线性回归
  2. ​数据集拥有自己的世界观?不,其实还是人的世界观
  3. 爆肝800000秒想出低成本无人驾驶测距
  4. linux 更新yum源 改成阿里云源
  5. Codeforces Round #331 (Div. 2) A. Wilbur and Swimming Pool 水题
  6. MySQL空密码用户清理
  7. TypeScript Downleveling - 什么是 TypeScript 的降级行为
  8. CF908G New Year and Original Order 数位DP
  9. 钱大妈生鲜“败走北京”
  10. WHAT IS PYTORCH
  11. 利用SpringAOP 实现 日志输出
  12. 翻译:Google研究:回顾2020年并展望2021年 - Jeff Dean
  13. Java数据类型的转换
  14. html如何将设置文本效果,Word2013中通过设置文本效果格式来为文字添加特殊效果...
  15. java定时器表达式_Java Quartz表达式每分钟执行1次
  16. 硬盘的结构和介绍,硬盘MBR详细介绍(超详细彩图)
  17. 8cm等于多少像素_一寸照片像素是多少
  18. linux驱动开发简单示例
  19. 高中数学培训高中数学必修一
  20. 在ubuntu16.04下,使用unrar解压缩rar文件

热门文章

  1. 毕业设计答辩PPT模板
  2. 5g工业路由器下自来水管网无线监控系统
  3. dcdc转换器计算机显示,DC/DC转换器
  4. Hutool实现Excel导入导出
  5. mysql数据库修复工具_MySQL数据库修复软件(Recovery Toolbox for MySQL)
  6. echarts循环图表
  7. 批量备注订单(淘宝/天猫/1688/拼多多/京东/抖音/快手)
  8. Mirth连接Sybase数据库
  9. 个人理财系统springboot项目开发(一)需求分析文档
  10. Inspinia的version 2.4模板使用的谷歌字体加载很慢问题解决