[git] git 分支管理和工作流程

分支管理 

列举本地分支。下面的 * 是 HEAD 所指向的分支,标识当前工作目录所用的分支。其他分支隐藏在 git 仓库中,通过 git checkout 命令才能访问和修改。

$ git branch
  iss53
* master
  testing

选项 --merged 显示的分支,已经合并到当前分支,可以被删除。 branch -d 用于删除分支。

$ git branch --merged
  iss53
* master

--no-merged 显示还没有被合并的分支

$ git branch --no-merged
  testing

分支的工作流程

分支可以分为两种:长期存在的分支,短期使用的主题分支

长期存在的分支

由于 Git 的分支合并的执行成本很低,所以可以定期从一个分支合并变动到另一个分支。常见的模式: master 指向稳定版本,develop 指向开发中尚未稳定的版本,topic 指向服务于单个需求的短期分支。他们的线性表示如下

使用分支来表示更形象

多个长期存在的分支,由于存在维护成本,比较适合大型或复杂的项目。小型项目可以不适用。

主题分支

主题分支,是一个短期分支,用于解决单一特定的问题或需求,适用于任何大小的项目。在以前的版本管理系统中,创建和合并分支的成本很高,但是在  Git 中的分支成本很低,可以每天多次创建、使用、合并以及删除分支。

参考资料

3.3 Git Branching - Branch Management, git-scm

3.4 Git Branching - Branching work flows, git-scm

原文地址:https://www.cnblogs.com/TonyYPZhang/p/6219287.html