一:版本控制系统简称 VCS
1.集中化的版本控制系统:
- 有一个单一的集中管理服务器,保存所有文件的修订版本。
- 客户端 获取最新的文件快照/ 提交更新
缺陷:
- 服务器故障,无法协同工作。
- 服务器损坏, 丢失项目的变更历史。
2.分布式版本控制系统:
- 客户端不只是提取最新版本的文件快照,而是把代码仓库完整的镜像下来。
二:Git特点
1.Git直接记录快照,而非比较差异。
Git和其他版本控制系统的主要差别在于Git对待数据的方法。
大部分系统以 文件变更列表的方式存储信息。 一组基本文件 + 每个文件随时间积累的差异。
对全部文件制作一个快照,并保存这个快照的索引。
- 因为Git是从服务端克隆的代码仓库,大多数操作都是本地操作。
3.Git保证完整性。
Git中所有数据再存储前都计算校验和,然后以校验和来引用。计算校验和的机制叫SHA-1散列(哈希)。 是一个由40个十六进制字符组成的字符串。
三:Git介绍
1.Git有三种状态,文件可能处于其中一种
- 已提交(committed):数据已经安全的保存在 本地 数据库中。
- 已修改(modified):修改了文件,还没有保存到数据库中。
- 已暂存 (staged): 对一个已经修改的文件做了标记,使它包含在下次提交的快照中。
2.三个工作区域:
- Git仓库 (.git 文件夹):用来保存项目的元数据和数据库的地方。
- 工作目录 : 对项目的某个版本提取出来的内容,是从git仓库的数据库中提取出来的文件。放在磁盘上供使用和修改。
- 暂存区: 是一个文件,一般在Git仓库中,也叫索引,保存了下次将提交的文件列表信息。
3.基本工作流程
在工作目录修改文件, 将文件快照放入暂存区暂存文件,找到暂存区文件,将快照永久性存储在Git仓库。