一、对待数据的方式:快照流

  • 把数据看作是对小型文件系统的一组快照。
  1. 每次提交更新或在 Git 中保存项目状态时,对当时的全部文件制作一个快照并保存这个快照的索引
  2. 如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件

二、近乎所有操作都是本地执行

绝大多数操作都只需要访问本地文件和资源

三、保证完整性

  • 所有数据在存储前都计算校验和(SHA-1 散列),然后以校验和来引用
  • 不可能在 Git 不知情时更改任何文件内容或目录内容
  • Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名

四、一般只添加数据

Git 操作,几乎只往 Git 数据库中增加数据