从 Git 中的暂存区删除更改

Azhar Bashir Khan 2022年4月22日
从 Git 中的暂存区删除更改

本教程是关于从 Git 的暂存区域中删除更改。

有时,我们可能希望从暂存区删除文件或删除文件的更改。我们可以使用 git restore 命令来实现这一点。

使用 git restore 命令从 Git 中的暂存区删除更改

当我们完成对文件的更改或当我们想要将新文件添加到项目目录中时,在 Git 仓库中进行跟踪时,我们会将这些文件添加到仓库中。

我们使用 git add 命令将文件或文件的更改添加到 Git 中仓库的暂存区或索引。然后我们可以使用 git commit 命令创建一个提交并将更改提交到 Git 仓库。

有时,在提交更改之前,我们可能会发现添加到暂存区的新更改不再有效。我们希望从暂存区域中删除这些更改,而不是提交这些更改。

例如,我们在 Git 仓库的项目目录中有一个名为 README.md 的文件。我们现在对文件 README.md 进行了一些更改。

我们可以运行 git status 命令来检查仓库的状态,如下所示。

$ git status .
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   README.md

我们可以在上面看到 git status 命令显示文件 README.md 已被修改。

我们现在可以将 README.md 文件修改添加到暂存区。我们可以使用 git add 命令来做到这一点,如下所示。

$ git add .

我们可以再次检查仓库的状态,如下所示。

$ git status .
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   README.md

我们现在可以看到文件 README.md 的修改现在位于暂存区或索引中。文件状态现在处于 Changes to be committed

我们现在可以决定取消暂存更改(即)使用带有 --staged 选项的 git restore 命令从暂存区域中删除修改。此信息显示在上面的 git status 命令中。

因此,我们现在运行 git restore 命令如下。

$ git restore --staged README.md

我们现在可以再次运行 git status 命令,如下所示。

$ git status .
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   README.md

我们可以在上面看到文件 README.md 的修改不再在暂存区(即);更改不会暂存以进行提交。

因此,我们已经学习了如何从 Git 的暂存区域中删除更改。

有关更多信息,请访问这些链接。

  1. git restore
  2. 撤销本地暂存的修改

相关文章 - Git Restore