迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

Git 中的暂存区

作者:迹忆客 最近更新:2023/03/30 浏览次数:

在本篇文章中,我们将了解 Git 中的暂存区

Git 是一个版本控制系统,维护对项目目录所做更改的历史记录。 Git 使用提交来跟踪更改。

Git有三个内部管理系统,其中之一就是暂存区。 暂存区就像一个粗略的草稿空间,我们可以在其中添加要在下一次提交中保存的文件版本。

我们使用 git add 命令将文件添加到暂存区。 我们现在将用一个例子来说明这一点。


Git 中的暂存区

Git 用于协作开发环境,以跟踪对项目目录中的文件所做的更改。

Git 具有三个内部管理系统,也称为树:工作目录树、暂存索引树和提交历史树。

这些树是复杂的数据结构,用于管理文件的状态及其在 Git 存储库中的更改。 暂存区,也称为暂存索引树,跟踪工作目录的变化。

命令 git add 用于将文件的版本从您的工作目录复制到暂存区。 git add 命令使用在工作树中找到的当前内容更新索引或暂存区。

暂存区保存工作树内容的快照。 此快照是作为下一次提交内容的快照。

之后,当我们想要将更改提交到 Git 仓库时,我们需要使用 git commit 命令。

git commit 命令使用 git add 命令创建的快照在提交历史树中创建提交。 git commit 命令将更改添加到位于提交历史树中的永久快照。

暂存区是一个复杂的内部缓存机制。 我们可以使用 git ls-files 命令查看暂存区或索引状态。

我们可以在 Git 存储库中运行 git ls-files 命令。

$ git ls-files -s .
100644 bab2a0adb8921f504cb0521bc00b8dde22ee92a4 0    mynotes.txt

我们可以看到 mynotes.txt 文件是暂存区树的一部分。

提供给 git ls-files 命令的 -s--stage 选项显示暂存索引中文件的附加元数据。 元数据是分阶段内容的模式位、对象名称和分阶段编号。

第二个值 bab2a0adb8921f504cb0521bc00b8dde22ee92a4 是一个标准的 Git 对象 SHA-1 哈希值。 它是文件内容的哈希值。

我们可以使用 git add 命令将 mynotes.txt 文件的修改添加到暂存区。

$ git add mynotes.txt
$ git status
On branch main Changes to be committed:
(use "git reset HEAD ..." to unstage)
modified: mynotes.txt

git status 命令的输出所示,对文件 mynotes.txt 的修改通过 git add 命令提升到暂存索引。

我们将再次检查 mynotes.txt 文件的暂存区或索引的状态,如下所示。

$ git ls-files -s mynotes.txt
100644 067478ae06e267263ea7ed849ef358f911628668 0    mynotes.txt

我们可以看到 mynotes.txt 文件的对象 SHA 已从 bab2a0adb8921f504cb0521bc00b8dde22ee92a4 更新为 067478ae06e267263ea7ed849ef358f911628668

至此,我们了解了 Git 中的暂存区树或索引。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便