GIT分支管理模型
GIT分支管理模型
link: git-branching-model
主分支(Main branches)
项目两个常驻分支:
master 主干分支(锁定),仅用于发布新版本,平时不能在上面干活,只做代码合并、以及打标记(git tag)。 理论上,每当对 master 分支有一个合并提交操作,我们就可以使用 Git 钩子脚本来自动构建并且发布软件到生产服务器。
develop开发分支(非锁定),平时干活的地方。每当发版时,需要被合并到 master。对于简单的项目而言,这样的分支模型已经够用了。
辅助性分支(Supporting branches)
除了常驻分支,通常大的特性开发或生产缺陷修复还建议创建相应的临时分支。因为:
- 在分支上开发可以让你随意尝试,进退自如,比如碰上无法正常工作的特性或补丁,可以先搁在那边,直到有时间仔细核查修复为止。
- 团队中如果有代码审查流程,独立的分支还可以留给审查者抽空审查的时间和改进代码的余地,并将是否合并、是否发布的权利留给审查者,为代码质量设一道门槛。
每一类分支都有一个特定目的,如何命名每一类分支?建议用相关的主题关键字进行命名,并且建议将分支名称分置于不同命名空间(前缀)下,例如:
|分支|来源分支|合并分支|锁定|说明|
|----|------|-------|---|---|
|feature-*|develop|develop| NO |特性分支,为了开发某种特定功能而建。|
|release-*|develop|develop,master| YES |预发布分支,为了新版本的发布做准备,一般命名为release-<版本号>。
|hotfix-*|master|develop,master| NO |补丁分支,为了修复生产缺陷而建,一般命名为 hotfix-<issue 编号>
与主分支不同,这些辅助性分支总是有一个有限的生命期,因为他们在被合并到主分支之后,就会被移除掉。
GIT分支管理模型的更多相关文章
- Git 分支管理策略汇总
原文链接: Git 分支管理策略 最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码? 我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的 ...
- [转载]理解 Git 分支管理最佳实践
原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...
- 02: git分支管理
目录:GIT其他篇 01: git & github 02: git分支管理 目录: 1.1 Git常用命令 1.2 主要分支(保护分支) 1.3 特性分支:feature (开发分支合并到d ...
- Git-Runoob:Git 分支管理
ylbtech-Git-Runoob:Git 分支管理 1.返回顶部 1. Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同 ...
- Git工程开发实践(四)——Git分支管理策略
A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Git工程开发实践( ...
- 【第七篇】- Git 分支管理之Spring Cloud直播商城 b2b2c电子商务技术总结
Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 ...
- Git 分支管理是一门艺术
转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...
- Git 分支管理详解
大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...
- Git分支管理[三]
标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 git分支管理命令 git branch #创建分支 git branch -v # ...
随机推荐
- error-2016-4-20
问题: Compilation ErrorDescription: An error occurred during the compilation of a resource required to ...
- C++设计模式-Adapter适配器模式(转)
Adapter适配器模式作用:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 分为类适配器模式和对象适配器模式. 系统的数据和 ...
- 从H264码流中获取视频宽高 (SPS帧) 升级篇
之前写过 <从H264码流中获取视频宽高 (SPS帧)> . 但发现很多局限性,而且有时解出来是错误的. 所以重新去研究了. 用了 官方提供的代码库来解析. 花了点时间,从代码库里单独把解 ...
- C#对于文件操作
//C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); ...
- 第四章 ngrok使用
网址(下载):http://www.ngrok.cc/ 注册:http://www.ngrok.cc/login 管理后台:http://www.ngrok.cc/user.html 创建隧道,产生隧 ...
- Android Studio 出现Failed to open zip file的问题
修改gradle . 首先我们打开setting搜索gradle.我们可以从该界面上看到gradle的版本.
- Eclipse 配置 pyDev(转)
转自:http://www.51testing.com/html/75/534775-859092.html 很久没有接触到Python了.以前都是在用2.7版本的,这次索性就安装3.2的了.一般的小 ...
- android studio 注释模板
File->Settings->Editor->File and Code Templates-> Templates->class Includes->File ...
- mysql创建新用户并分配数据库权限
下面展示了如何在Linux中创建和设置一个MySQL用户. 首先以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码 ...
- RancherOS Hyper-V 安装
RancherOS Hyper-V 安装, Install to disk 打开 Hyper-V 管理界器, 新建虚拟机 输入名称和存储位置 选择一代 最低 1024M 配置网络 创建虚拟磁盘 设置启 ...