git(icode)分支及发布管理方式
如果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)分支及发布管理方式相关推荐
- git整合分支的两种方式 merge 和 rebase
git merge 和 git rebase 是整合分支的两种不同方式. 两者最大的区别是整合后的提交记录 两者没有绝对的好坏,适用不同的场景 一般的开发使用merge即可.除非对提交记录有特别的要求 ...
- git的使用学习(五)git的分支管理
分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平 ...
- Git Flow 分支管理简述
概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...
- Git创建分支的正确方式
创建分支有两种方式:本地创建分支和远程创建分支.根据不同场景,选择不同的分支创建方式. 本地创建分支 如果你本地已经安装了 git 命令行工具,你可以直接操作 git 命令来创建分支.前提要拉取远程仓 ...
- 实际项目中如何使用Git做分支管理
[版权申明] 非商业目的注明出处可自由转载 出自:shusheng007 相关文章 Git日常开发常用命令汇总 文章目录 前言 概述 Git的基本使用方法 使用Git管理项目的方式 主分支 支持分支 ...
- Git分支:什么是分支,如何管理分支?
一.前言 如果有人问你,当下最流行的"版本管理系统"(Version Control System)是什么,那你一定要毫不犹豫的告诉他,非Git莫属. Git 相比同类软件,Git ...
- GIT教程 — 分支管理(二)
分支管理 我们在上一篇博客分支的基本操作当中已经学会了,创建,查看,切换,合并,删除一个分支, 那么既然我们拥有了基础的知识之后 ,那我们需要如何实际运用分支呢? 那么在这个博客我们就能够找到答案. ...
- linux下git分支管理,git远程分支管理
git远程分支管理 使用分支的原则 master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上 创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并 ...
- git 远程仓库管理 分支创建、管理、查看、切换
作用: 区分生产环境代码以及开发环境代码 研究新的功能或者攻关难题 解决线上bug 特点: 项目开发中公用分支包括master.dev 分支master是默认分支,用于发布,当需要发布时将dev分支合 ...
- Git 代码分支管理 / 版本管理
Git 代码分支管理 / 版本管理 在使用 Git 时,基本不可能只有一个分支. 即使只有一个人发开,也会考虑代码的安全而分多个分支.多人协同开发时,可能每个人在不同的分支开发,也可能不同团队在不同的 ...
最新文章
- 吴恩达机器学习笔记 —— 5 多变量线性回归
- ​数据集拥有自己的世界观?不,其实还是人的世界观
- 爆肝800000秒想出低成本无人驾驶测距
- linux 更新yum源 改成阿里云源
- Codeforces Round #331 (Div. 2) A. Wilbur and Swimming Pool 水题
- MySQL空密码用户清理
- TypeScript Downleveling - 什么是 TypeScript 的降级行为
- CF908G New Year and Original Order 数位DP
- 钱大妈生鲜“败走北京”
- WHAT IS PYTORCH
- 利用SpringAOP 实现 日志输出
- 翻译:Google研究:回顾2020年并展望2021年 - Jeff Dean
- Java数据类型的转换
- html如何将设置文本效果,Word2013中通过设置文本效果格式来为文字添加特殊效果...
- java定时器表达式_Java Quartz表达式每分钟执行1次
- 硬盘的结构和介绍,硬盘MBR详细介绍(超详细彩图)
- 8cm等于多少像素_一寸照片像素是多少
- linux驱动开发简单示例
- 高中数学培训高中数学必修一
- 在ubuntu16.04下,使用unrar解压缩rar文件
热门文章
- 毕业设计答辩PPT模板
- 5g工业路由器下自来水管网无线监控系统
- dcdc转换器计算机显示,DC/DC转换器
- Hutool实现Excel导入导出
- mysql数据库修复工具_MySQL数据库修复软件(Recovery Toolbox for MySQL)
- echarts循环图表
- 批量备注订单(淘宝/天猫/1688/拼多多/京东/抖音/快手)
- Mirth连接Sybase数据库
- 个人理财系统springboot项目开发(一)需求分析文档
- Inspinia的version 2.4模板使用的谷歌字体加载很慢问题解决