参考
这篇文章将总结Git中的分支操作。
概述
几乎所有的版本控制系统都以某种形式支持分支。Git的分支模型尤为出众,轻量且快速。
首先我们来回顾一下Git存储数据的方式,Git保存的不是文件的变化或差异,而是一系列不同时刻的快照。Git的工作流程如下:
- 进行暂存操作时:
- 为每一个文件计算校验和,然后将当前版本的文件快照保存在Git仓库(Git使用blob对象来保存它们);
- 校验和加入到暂存区等待提交;
- 进行git commit操作时:
- 首先计算每一个子目录的校验和,将Git仓库中的这些校验和保存为树对象;
- 创建一个提交对象,提交对象包含一个指向暂存内容快照的指针、作者的姓名和邮箱、提交时输入的信息、指向它的父对象的指针以及一个指向上述树对象(项目根目录)的指针;
- 首次提交产生的提交对象没有父对象,普通提交操作产生的提交对象有一个父对象,多个分支合并产生的提交对象有多个父对象;