2.Git介绍
注:Git和Linux最初均由一人开发完成,即Linus Benedict Torvalds。
2.1 Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别
名称 | 存储方式(重要区别) | 操作速度 | 完整性 | 文件存储索引 | 安全性 |
---|---|---|---|---|---|
其它版本控制系统 | 文件变更列表的方式存储信息并随时间累计差异 | 需要联网,可能取决于网速 | 不能完全保证文件的完整性 | 文件名 | 既有添加数据,也有其它操作 |
Git | 直接记录快照并保存快照流,有时只保存指向某类文件链接 | 绝大多数操作都只需要访问本地文件和资源,快 | 所有的数据在存储前都用 SHA-1 散列计算校验和,然后以校验和来引用 | 文件内容哈希值来索引 | 只能添加数据,不能删除,很安全 |
2.2 Git的3种工作状态
- 已提交(Committed)
数据已安全的保存在本地数据库中
- 已修改(Modified)
已修改文件但未保存在本地数据库中
- 已暂存(Staged)
对已修改文件的当前版本已做了标记,使之包含在下次提交的快照中
2.3 Git项目3个阶段
- 工作目录(Workspace)
也称为工作区,是从Git仓库中提取出一部分压缩数据放在本地磁盘上共开发人员使用。
- 暂存目录(Index/Stage)
也称暂存区,是个文件,保存了下次要提交的文件列表信息,在Git仓库中,按照术语叫做“索引”。
- Git仓库(Repository)
是 Git用来保存项目的元数据和对象数据库的地方。
3种阶段关系