一、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 会使用每个变量的最后一次的配置的值