[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 中的分支成本很低,可以每天多次创建、使用、合并以及删除分支。
参考资料