返回顶部
首页 > 资讯 > 精选 >Git工作区、暂存区和版本库是什么
  • 246
分享到

Git工作区、暂存区和版本库是什么

2023-06-17 05:06:18 246人浏览 独家记忆
摘要

本文小编为大家详细介绍“git工作区、暂存区和版本库是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Git工作区、暂存区和版本库是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Git 工作区、暂存区和版

本文小编为大家详细介绍“git工作区、暂存区和版本库是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Git工作区、暂存区和版本库是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

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


基本概念

我们先来理解下 Git 工作区、暂存区和版本库概念:

  • 工作区:就是你在电脑里能看到的目录。

  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:

Git工作区、暂存区和版本库是什么

  • 图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage/index),标记为 "master" 的是 master 分支所代表的目录树。

  • 图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。

  • 图中的 objects 标识的区域为 Git 的对象库,实际位于 ".git/objects" 目录下,里面包含了创建的各种对象及内容。

  • 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。

  • 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。

  • 当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

  • 当执行 git rm --cached <file> 命令时,会直接从暂存区删除文件,工作区则不做出改变。

  • 当执行 git checkout . 或者 git checkout -- <file> 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区中的改动。

  • 当执行 git checkout HEAD . 或者 git checkout HEAD <file> 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

读到这里,这篇“Git工作区、暂存区和版本库是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Git工作区、暂存区和版本库是什么

本文链接: https://lsjlt.com/news/287342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Git工作区、暂存区和版本库是什么
    本文小编为大家详细介绍“Git工作区、暂存区和版本库是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Git工作区、暂存区和版本库是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Git 工作区、暂存区和版...
    99+
    2023-06-17
  • Git的基本操作流程及工作区版本库暂存区的关系
    目录1、Git的基本操作流程2、工作区、暂存区、版本库的区别(1)工作区(2)版本库(3)暂存区(4)通过新增文件理解三个区的关系(5)说明1、Git的基本操作流程 初始化一个本地版...
    99+
    2024-04-02
  • git工作区暂存区与版本库基本理解及提交流程全解
    目录一、git的三个区的基本理解1、工作区2、版本库3、暂存区二、工作区中.git目录三、通过提交流程理解三个区1、工作区新加文件 index.html2、将index.h...
    99+
    2024-04-02
  • git清空本地暂存区的方法是什么
    要清空本地暂存区,可以使用以下命令:1. 使用git reset命令:git reset这将把暂存区中的所有更改移除,并将它们放回工...
    99+
    2023-10-18
    git
  • 工作簿和工作表的区别是什么
    工作簿和工作表的区别是:1、工作簿是一个包含多个工作表的文件,而工作表是工作簿中的一个单独的表格;2、工作簿是整个文件,用于存储和管理多个工作表,而工作表是文件中的一个组成部分,用于存储和分析数据。本教程操作环境:windows10系统、D...
    99+
    2023-08-03
  • sed模式空间和暂存空间的区别是什么
    本篇内容主要讲解“sed模式空间和暂存空间的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sed模式空间和暂存空间的区别是什么”吧!sed编辑器逐行处理文件,并将输出结果打印到屏幕上。...
    99+
    2023-06-09
  • git与SVN版本控制优缺点区别是什么
    这篇文章主要讲解了“git与SVN版本控制优缺点区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git与SVN版本控制优缺点区别是什么”吧!Git和SVN的区别(1)SVN(集中式版...
    99+
    2023-06-30
  • git pull和git clone的区别是什么
    本篇内容介绍了“git pull和git clone的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:“git clone”是...
    99+
    2023-06-21
  • xp各版本的区别是什么
    这篇文章主要介绍“xp各版本的区别是什么”,在日常操作中,相信很多人在xp各版本的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”xp各版本的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-01
  • mysql服务器版本和客户端版本的区别是什么
    MySQL 服务器版本和客户端版本的区别主要在于功能和应用范围上的差异:1、功能差异MySQL 服务器版本提供了完整的数据库管理功能...
    99+
    2023-03-14
    mysql服务器版本 mysql 服务器
  • git中pull和push的区别是什么
    在Git中,pull和push是两个常用的命令,它们的区别如下:1. Push(推送)操作用于将本地的代码或者修改推送到远程仓库。当...
    99+
    2023-08-23
    git
  • MySQL各个版本的区别是什么
    小编给大家分享一下MySQL各个版本的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL 的官网下载地址:htt...
    99+
    2024-04-02
  • react15与16版本的区别是什么
    这篇文章主要介绍“react15与16版本的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react15与16版本的区别是什么”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • win11体验版和正版区别是什么
    这篇文章主要介绍“win11体验版和正版区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win11体验版和正版区别是什么”文章能帮助大家解决问题。一、更新内容 win11体验版类似于内测版,...
    99+
    2023-07-02
  • package.json版本号符号^和~前缀的区别是什么
    这篇文章主要介绍“package.json版本号符号^和~前缀的区别是什么”,在日常操作中,相信很多人在package.json版本号符号^和~前缀的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”p...
    99+
    2023-07-02
  • Eclipse中的工作区概念是什么
    在 Eclipse 中,工作区是一个包含项目和文件的文件夹,用于存储和组织用户的代码。在 Eclipse 中打开的每个项目都位于工作...
    99+
    2024-04-03
    Eclipse
  • windows10家庭版和专业版区别是什么
    这篇文章主要介绍了windows10家庭版和专业版区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows10家庭版和专业版区别是什么文章都会有所收获,下面我们一起来看看吧。支持内存大小不一样。专...
    99+
    2023-07-01
  • win7精简版和旗舰版区别是什么
    安装过win7系统的朋友们应该都知道win7系统有很多个版本,其中使用最多的就是win7旗舰版和精简版的系统了,然而很多人并不知道这两个版本到底有什么区别,在装机的时候也不知道如何抉择,下面就让小编为大家简单介绍这两个系统到底有什么不同吧。...
    99+
    2023-07-10
  • NoSQL数据库中分区是怎么工作的
    NoSQL数据库中的分区是将数据按照特定的规则分割成多个部分存储在不同的节点上。这样做的目的是为了增加数据库的性能和扩展性,使得数据...
    99+
    2024-05-07
    NoSQL
  • 工作站和服务器有什么区别
    工作站和服务器是两种不同的计算机设备,它们的主要区别在于其用途和功能。 工作站: 工作站是一种用于个人或团队工作的计算机设备,通...
    99+
    2024-04-26
    服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作