当前位置: 首页 > news >正文

【Git】第四篇:基本操作(理解工作区、暂存区、版本库)

Git 工作区、暂存区和版本库

  • 工作区:就是我们创建的本地仓库所在的目录
  • 暂存区: stage或index,一般放在.git(可隐藏文件)目录下的index文件(.git/index)中,所以我们把暂存区有时候也叫做索引(index)
  • 版本库:工作区有一个隐藏目录.git,所说的版本库就是隐藏的.git目录。

在这里插入图片描述

下面的图详细展示了三者之间的关系:
在这里插入图片描述

  1. 文件 .git/index是记录了文件名、文件的状态信息(时间戳、文件长度等)等的文件索引的目录树。
  2. Git 对象库(.git/objects)中保存的是文件索引中所指定的文件实体。
  3. 图中左侧为工作区,右侧为版本库。在版本库中标记为 “index” 的区域是暂存区(stage, index)或者索引区,标记为 “master” 的是 master 分支所代表的目录树。
  4. 图中我们可以看出此时 “HEAD” 实际是指向 master 分支的一个“游标”。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
  5. 当对工作区修改(新增、修改、删除)的文件执行 “git add” 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库(objects)中的一个新的对象中,而该对象的ID 被记录在暂存区的文件索引(index)中。
  6. 当执行提交操作(git commit)时,暂存区的目录树写到版本库中的对象库(objects)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
http://www.lryc.cn/news/228688.html

相关文章:

  • Word转PDF简单示例,分别在windows和centos中完成转换
  • 推荐收藏!大模型算法工程师面试题来了(附答案)
  • 线程与进程
  • SparkSQL之Analyzed LogicalPlan生成过程
  • Vue的状态管理有哪些?
  • 1000道精心打磨的计算机考研题,408小伙伴不可错过
  • Flink SQL 表值聚合函数(Table Aggregate Function)详解
  • pgsql_全文检索_使用空间换时间的方法支持中文搜索
  • OpenGL_Learn10(颜色)
  • 使用Go语言抓取酒店价格数据的技术实现
  • 设计模式1
  • 数字人部署之VITS+Wav2lip数据流转处理问题
  • RK3568笔记五:基于Yolov5的训练及部署
  • VR虚拟现实:VR技术如何进行原型制作
  • 51单片机入门
  • notes_质谱蛋白组学数据分析基础知识
  • 【Python基础】一个简单的TCP通信程序
  • 算法之双指针
  • Redis被攻击纪实
  • AI工具-PPT-SlidesAI
  • 原型链污染攻击
  • Android Glide transform圆形图CircleCrop动态代码描边绘制外框线并rotateImage旋转,Kotlin
  • 【ruoyi】微服务关闭登录验证码
  • AI:78-基于深度学习的食物识别与营养分析
  • 日本it培训班,如何选择靠谱的赴日IT培训班?
  • 51单片机PCF8591数字电压表LCD1602液晶显示设计( proteus仿真+程序+设计报告+讲解视频)
  • 缅因州政府通知130万人MOVEit数据泄露事件
  • 4.2 onnx简化模型结构
  • 通用的链栈实现(C++)
  • 物联网AI MicroPython学习之语法 bluetooth蓝牙