直接记录快照,而非差异比较
大部分版本控制工具以文件变更列表的方式存储信息。可将他们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
1.png
git在保存项目状态或提交更新时,对当时的全部文件制作一个快照并保存快照的索引。如果文件没有修改,不重新存储该文件,而是只保留一个链接指向之前存储的文件。
2.png
近乎所有操作都在本地执行
例如,浏览项目历史,不用到服务器获取再显示,只需从数据库中读取。如果想看当前版本与之前版本的差异,Git查找之前版本文件做一次本地差异计算。
离线或没有VPN时也可以做操作。
保证完整性
存储前计算校验和,用校验和来引用。
校验和机制:SHA-1散列,40个16进制字符组成的字符串
Git数据库中保存的信息都是用文件内容的哈希值来索引
一般只添加数据
未提交更新可能丢失或者弄乱修改的内容,一旦提交快照到Git中就难以再丢失数据。
网友评论