Git工作原理_01

Git是一种 分布式版本控制系统(Distributed Version Control System, DVCS),其客户端会将代码仓库完整地镜像下来,其好处是任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
分布式版本控制

Git有三种状态:已修改(modified)已暂存(staged)已提交(committed)

  • 已修改(modified):修改了文件,但还没保存到数据库中。

  • 已暂存(staged):对一个已修改文件做了标记,使之包含在下次提交的快照中。

  • 已提交(committed):数据已经安全的保存在本地数据库中。

由此引入 Git 项目的三个工作区域的概念:工作目录暂存区域 以及 Git仓库

基本的 Git 工作流程如下:

  1. 在工作目录中修改文件。

  2. 暂存文件,将文件的快照放入暂存区域。

  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

举个例子,比如我在超市买东西,选了以下几样物品(五枚鸡蛋,三个番茄,两头蒜和一块姜),然后将其放进塑料袋里,系好后放入购物车里面;接下来我推着购物车去了称重区,负责称重的阿姨将装着东西的塑料袋从购物车里拿出来,然后又将里面的东西全部取出来逐一称重,我忽然感觉蒜买的有点多了,于是让阿姨去掉一头蒜,现在全部东西都称好了,阿姨把这些物品(五枚鸡蛋,三个番茄,一头蒜和一块姜)放入塑料袋后系好并贴上总价标签,最后放回了购物车中。
OK,我们接下来捋一捋:购物车 就相当于 本地Git仓库贴了总价标签的塑料袋 就相当于 暂存区称重区 就相当于 工作目录;阿姨从购物车里将物品拿出来的过程,相当于 Checkout the project 的过程,我选择 去掉一头蒜之后 ,相当于处于 已修改状态,阿姨将物品 装进塑料袋并贴好标签之后,即生成了 下次提交的快照 ,相当于 已暂存放回购物车之后,相当于已提交

posted @ 2022-08-03 11:38  Ganders  阅读(101)  评论(0编辑  收藏  举报