直接记录快照,而非差异比较
-
svn\csv等是保存的信息看做一组基本文件和每个文件随着时间逐步积累的差异
储存每个文件与初始版本的差异 -
Git 在保存项目状态时,对全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git 不在重新储存该文件,只是保留一个连接指向之前的存储的文件。这是重要的区别。
Git 存储项目时随着时间改变的快照
近乎所有的操作都是本地执行
Git 保证完整性
- Git 中所有数据在存储钱都计算校验和,然后以校验和来引用。
- 计算校验和的机制叫做
SHA-1
散列
Git 一般只添加数据
三种状态
-
Git 文件有三种状态
- 已提交【committed】:表示数据已经安全的保存在本地数据库中
- 已修改【modified】:修改了文件,但是还没有保存到数据库中
- 已暂存【staged】:对一个已修改的文件的当前版本做了标记,使之在下次提交的时候提交到快照中。
-
Git 项目的三个工作区
Git 三个工作区-
Repository: 保存项目的元数据和对象数据库的地方。
-
Working Directory: 对项目的某个版本提取出来的内容。
-
Staging Area: 是一个文件,保存了下次提交的文件列表信息。有的时候也成为
index 索引
-
网友评论