Git 撤销多个文件和文件夹的 ‘git add’ 操作

Git 撤销多个文件和文件夹的 ‘git add’ 操作

在本文中,我们将介绍如何撤销多个文件和文件夹的 ‘git add’ 操作。有时候我们会不小心将不需要提交的文件或文件夹添加到了暂存区,或者误操作添加了整个文件夹,这时候就需要撤销 ‘git add’ 操作来取消对这些文件或文件夹的追踪。

阅读更多:Git 教程

使用 ‘git reset’

使用 ‘git reset’ 命令可以将暂存区的文件还原到工作区。要撤销对单个文件的 ‘git add’ 操作,可以使用以下命令:

git reset HEAD <文件名>
Bash

例如,要撤销对文件 ‘example.txt’ 的 ‘git add’ 操作,可以运行以下命令:

git reset HEAD example.txt
Bash

而要撤销文件夹 ‘example_folder’ 的 ‘git add’ 操作,可以运行以下命令:

git reset HEAD example_folder/
Bash

这样,被撤销的文件或文件夹将从暂存区移回到工作区,即取消了对它们的追踪。

使用 ‘git restore’

自 Git 2.23 版本起,还引入了 ‘git restore’ 命令用于还原工作区或暂存区的文件。要撤销对文件的 ‘git add’ 操作,可以使用以下命令:

git restore --staged <文件名>
Bash

例如,要撤销对文件 ‘example.txt’ 的 ‘git add’ 操作,可以运行以下命令:

git restore --staged example.txt
Bash

而要撤销文件夹 ‘example_folder’ 的 ‘git add’ 操作,可以运行以下命令:

git restore --staged example_folder/
Bash

这样,被撤销的文件或文件夹将从暂存区移回到工作区。

注意,’git restore’ 命令还可以用于还原工作区的文件,只需不加 ‘–staged’ 参数即可,例如:

git restore example.txt
Bash

使用 ‘git rm’

如果需要彻底撤销对文件的追踪,即从版本控制系统中完全删除该文件,可以使用 ‘git rm’ 命令。要撤销对文件的 ‘git add’ 操作并删除该文件,可以使用以下命令:

git rm --cached <文件名>
Bash

例如,如果要撤销对文件 ‘example.txt’ 的 ‘git add’ 操作并彻底删除该文件,可以运行以下命令:

git rm --cached example.txt
Bash

同样地,要撤销文件夹 ‘example_folder’ 的 ‘git add’ 操作并彻底删除该文件夹及其内容,可以运行以下命令:

git rm --cached -r example_folder/
Bash

需要注意的是,’git rm’ 命令会将删除的文件或文件夹直接提交到版本控制系统中。因此,在使用该命令之前,请确保你真正希望彻底删除文件或文件夹。

示例说明

假设我们有一个名为 ‘myproject’ 的 Git 仓库,并且已经将文件 ‘example.txt’ 和文件夹 ‘example_folder’ 添加到了暂存区:

git add example.txt
git add example_folder/
Bash

现在我们发现 ‘example.txt’ 是不需要提交的文件,而 ‘example_folder’ 是误操作添加的文件夹。为了撤销这两个操作,我们可以按照以下步骤进行:

  1. 首先,使用 ‘git reset’ 命令将 ‘example.txt’ 从暂存区移回到工作区:
git reset HEAD example.txt
Bash
  1. 然后,使用 ‘git restore’ 命令将 ‘example_folder’ 从暂存区移回到工作区:
git restore --staged example_folder/
Bash
  1. 最后,如果不再需要这两个文件,我们可以使用 ‘git rm’ 命令彻底删除它们:
git rm --cached example.txt
git rm --cached -r example_folder/
Bash

这样,我们成功地撤销了 ‘git add’ 操作,并将文件和文件夹从版本控制系统中移除。

总结

通过使用 ‘git reset’、’git restore’ 或 ‘git rm’ 命令,我们可以轻松地撤销多个文件和文件夹的 ‘git add’ 操作。这些命令能够将文件从暂存区还原到工作区,或者彻底删除文件。在日常开发中,当不小心将不需要提交的文件或文件夹添加到暂存区时,我们可以利用这些命令快速修复错误,保持代码仓库的干净和整洁。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册