一、Git特点
1. 直接记录快照,而非差异比较
- 在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。
- 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
- Git 对待数据更像是一个 快照流。
2. 近乎所有操作都是本地执行
- 在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。
3. Git 保证完整性
Git 中所有数据在存储前都计算校验和,然后以校验和来引用。Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。
这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来。
SHA-1 哈希看起来是这样:>24b9da6552252987aa493b52f8696cd6d3b00373
实际上,Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名
4. Git 一般只添加数据
- 你执行的 Git 操作,几乎只往 Git 数据库中增加数据
二、Git 中的文件有3种状态:
1. 已提交:数据已经安全的保存在本地数据库中
2. 已修改:修改了文件,但未保存到数据库中
3. 已暂存:对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
三、Git 中的3个工作区域
1. Git仓库:保存项目的元数据和对象数据库,Git中最重要的部分,供其他人clone 仓库
2. 工作目录:对项目的某个版本独立提取出来的,供工作中使用、修改
工作目录下的文件状态:
已跟踪:纳入了版本控制的文件,后期可能处于 未修改,已修改或放入暂存区了
未跟踪:工作目录下除已跟踪文件外的其他所有文件
3. 暂存区:是一个文件,保存下次将提交的文件列表信息,一般在Git仓库目录中,有时也被叫做索引
四、Git 的基本工作流程
1. 在工作目录中修改文件
2. 暂存文件,将文件的快照放入暂存区
3. 提交更新,找到暂存区的文件,将快照永久性存储到Git仓库中
五、Git 个人信息初始配置
全局信息配置:(个人默认信息)
git config –global user.name “xxx”
git config –global user.email xxx@qq.coom
此配置会写入 user目录下的 .gitconfig文件,实际上为个人信息默认值
临时配置:
去掉 –global 即可
实际是在其配置列表中追加其信息,重复变量名,不同的value值
(Git每次会读取不同文件,其中就可能含有同一个配置)
Git 会使用每个变量的最后一次的配置的值