Git工作原理_01
Git是一种 分布式版本控制系统(Distributed Version Control System, DVCS),其客户端会将代码仓库完整地镜像下来,其好处是任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
Git有三种状态:已修改(modified)、已暂存(staged) 和 已提交(committed)。
-
已修改(modified):修改了文件,但还没保存到数据库中。
-
已暂存(staged):对一个已修改文件做了标记,使之包含在下次提交的快照中。
-
已提交(committed):数据已经安全的保存在本地数据库中。
由此引入 Git 项目的三个工作区域的概念:工作目录、暂存区域 以及 Git仓库。
基本的 Git 工作流程如下:
-
在工作目录中修改文件。
-
暂存文件,将文件的快照放入暂存区域。
-
提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
举个例子,比如我在超市买东西,选了以下几样物品(五枚鸡蛋,三个番茄,两头蒜和一块姜),然后将其放进塑料袋里,系好后放入购物车里面;接下来我推着购物车去了称重区,负责称重的阿姨将装着东西的塑料袋从购物车里拿出来,然后又将里面的东西全部取出来逐一称重,我忽然感觉蒜买的有点多了,于是让阿姨去掉一头蒜,现在全部东西都称好了,阿姨把这些物品(五枚鸡蛋,三个番茄,一头蒜和一块姜)放入塑料袋后系好并贴上总价标签,最后放回了购物车中。
OK,我们接下来捋一捋:购物车 就相当于 本地Git仓库,贴了总价标签的塑料袋 就相当于 暂存区,称重区 就相当于 工作目录;阿姨从购物车里将物品拿出来的过程,相当于 Checkout the project 的过程,我选择 去掉一头蒜之后 ,相当于处于 已修改状态,阿姨将物品 装进塑料袋并贴好标签之后,即生成了 下次提交的快照 ,相当于 已暂存,放回购物车之后,相当于已提交。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律