Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。每一次的克隆操作,实际上都是一次对代码仓库的完整备份。 Git的优势 直接记录快照  Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流。 如图,在version2中的 B 即是因为 File B 没有改变,所以直接存储了一个指向 FileB 的链接。只有修改了的文件才会产生一个新的文件,覆盖原来的文件。

几乎所有操作都在本地执行 在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。因为你在本地磁盘上就有项目的完整历史,所以大部分操作看起来瞬间完成。 Git保证完整性 Git 中所有数据在存储前都计算校验和,然后以校验和来引用。Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。Git 数据库中保存的信息都是以文件内容的哈希值来确定的,而不是文件名。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。 这个功能建构在 Git 底层,是构成 Git 哲学不可或缺的部分。 若你在传送过程中丢失信息或损坏文件,Git 就能发现。 Git一般只添加数据 你执行的 Git 操作,几乎只往 Git 数据库中增加数据。 很难让 Git 执行任何不可逆操作,或者让它以任何方式清除数据。 同别的 VCS 一样,未提交更新时有可能丢失或弄乱修改的内容;但是一旦你提交快照到 Git 中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。这个特性使得我们可以尽情的尝试对Git进行操作而不用害怕把它改坏了,只需要回滚即可。 需要注意的重点 三种状态

已提交 committed :数据已经保存在本地 Git 仓库

已修改 modified : 修改了文件,但是还没保存在仓库中

已暂存 staged : 对一个已修改的文件的当前版本做了标记

三个区域 工作目录 Working Directory :对项目的某个版本独立提取出来的内容,这些从Git仓库的压缩数据库提取出来的文件,放在磁盘上供你使用或修改。 暂存区域 Staging Area :是一个文件,保存了下次将提交的文件列表,是待提交文件的暂存区域。一般在Git仓库的目录中,有时也被称为索引。 Git仓库:用来保存项目的元数据和对象数据库的地方。是Git中最重要的部分,从其他计算机克隆仓库时拷贝的就是这里的数据 基本的Git工作流程 在工作目录中修改文件 暂存文件,将文件的快照存储在暂存区域 提交更新,找到暂存区域的位置,将快照永久性存储到Git仓库目录 o提交状态:如果Git目录中保存着特定版本的文件,就属于已提交状态。 o暂存状态:如果做了修改并且已经放入暂存区域,就属于暂存状态。 o已修改状态:如果自上次取出后,做了修改但是还没有存在暂存区域,就是已修改状态。 基本的Git操作流程 基础设置  首先最基础的是需要配置用户信息

关于 config 的种类 接着需要检查你的配置信息,使用 $ git config --list 指令检查全部配置信息,结果如下: 总结 本次 Git 基础学习总结到现在就告一段落,这是我对 Git 的使用了解,以上内容讲述的也不是很完整,还希望和大家多多学习一下。