Git分支相关的概念

目录:

  1. 新概念的定义
  2. 分支的分类
    1. 按照生命周期来分
    2. 按照作用来分
    3. 按照流转环节来分

新概念的定义

为了能够严谨、准确、方便地表达分支之间的关系,我定义了以下概念:

临时性分支 终将会被合并到 长期分支中(除非弃用),如,开发完功能后,因转测,需要把 功能分支 合并到 测试分支 中,测试完后,测试分支 又会被合并到 预发布 分支中,最后,预发布分支 又会被合并到 发布分支 中;在这个过程中,功能分支 依次被合并到了 测试分支、预发布分支、发布分支;

像上面这样,分支 在被其它分支合并的过程 称为分支的 流转

分支A 被合并到 分支B ,也称为 分支A 流转到了 分支B

分支A 流转到了 分支B,分支B 又流转到了 分支C ,像这样的过程称为 分支A 的 连续流转,也称为 分支A 连续流转到了 分支C

连续流转过程中的每一个分支 都称为该连续流转的一个 流转环节,也称为该连续流转的一个 流转分支

连续流转的所有 流转环节 的有序组合 称为 流转链

流转链中 最初的 流转环节(流转分支) 又称为该流转链的 原始分支初始环节

流转链中 最终的 流转环节(流转分支) 又称为该流转链的 终点分支终点环节

流转链中 原始分支 和 终点分支 之间的 流转分支 称为 中间分支中间环节

如果 分支A 是基于 分支B 创建的,即: 分支A 是从 分支B 创建的,则称 分支B 是 分支A 的 直接母分支; 分支A 是 分支B 的 直接子分支

分支A 的 直接母分支 和 其 直接母分支 的 直接母分支 等(以此类推) 统称为 分支A 的 母分支

分支A 的 直接子分支 和 其 直接子分支 的 直接子分支 统称为 分支A 的 子分支

母分支子分支 之间的关系 称为 互为 母子关系

母分支子分支 统称为 母子分支

直接母分支直接子分支 之间的关系 称为 互为 直接母子关系

直接母分支直接子分支 统称为 直接母子分支

如果总是从 分支A 合并(或变基)到 分支B,即:则称 分支A 是 分支B 的 直接上游分支; 分支B 是 分支A 的 直接下游分支

分支A 的 直接上游分支 和 其 直接上游分支 的 直接上游分支 等(以此类推) 统称为 分支A 的 上游分支

分支A 的 直接下游分支 和 其 直接下游分支 的 直接下游分支 统称为 分支A 的 下游分支

上游分支下游分支 之间的关系 称为 互为 上下游关系

上游分支下游分支 统称为 上下游分支

直接上游分支直接下游分支 之间的关系 称为 互为 直接上下游关系

直接上游分支直接下游分支 统称为 直接上下游分支

母子关系上下游关系 的区别:

  • 母子关系 强调的是分子之间的创建关系
  • 上下游分支 强调的是分子之间的合并关系

分支的分类

按照生命周期来分

  • 长期:伴随Git项目一直存在的分支;
  • 临时:针对特定任务或目的而建的,且 当完成任务或达到目的后需要被删除的分支;

按照作用来分

  • 发布:为存放已发布的、正式的版本而建的分支;
  • 预发布:为即将正式发布的版本做试运行而建的分支;如果没有试运行阶段,则可以不设 预发布 分支;
  • 功能:为实现一个 或 多个 功能而开设的分支;
  • 修复:为修复一个 或 多个 问题 而开设的分支;
  • 协作:为实现多人协作而开设的分支;
  • 合并:为合并多个分支而建的分支;
  • 测试:为测试而建的分支;

按照流转环节来分

  • 流转分支
    • 原始分支
    • 中间分支
    • 终点分支
  • 母分支
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容