Git 撤销多个文件和文件夹的 ‘git add’ 操作
在本文中,我们将介绍如何撤销多个文件和文件夹的 ‘git add’ 操作。有时候我们会不小心将不需要提交的文件或文件夹添加到了暂存区,或者误操作添加了整个文件夹,这时候就需要撤销 ‘git add’ 操作来取消对这些文件或文件夹的追踪。
阅读更多:Git 教程
使用 ‘git reset’
使用 ‘git reset’ 命令可以将暂存区的文件还原到工作区。要撤销对单个文件的 ‘git add’ 操作,可以使用以下命令:
例如,要撤销对文件 ‘example.txt’ 的 ‘git add’ 操作,可以运行以下命令:
而要撤销文件夹 ‘example_folder’ 的 ‘git add’ 操作,可以运行以下命令:
这样,被撤销的文件或文件夹将从暂存区移回到工作区,即取消了对它们的追踪。
使用 ‘git restore’
自 Git 2.23 版本起,还引入了 ‘git restore’ 命令用于还原工作区或暂存区的文件。要撤销对文件的 ‘git add’ 操作,可以使用以下命令:
例如,要撤销对文件 ‘example.txt’ 的 ‘git add’ 操作,可以运行以下命令:
而要撤销文件夹 ‘example_folder’ 的 ‘git add’ 操作,可以运行以下命令:
这样,被撤销的文件或文件夹将从暂存区移回到工作区。
注意,’git restore’ 命令还可以用于还原工作区的文件,只需不加 ‘–staged’ 参数即可,例如:
使用 ‘git rm’
如果需要彻底撤销对文件的追踪,即从版本控制系统中完全删除该文件,可以使用 ‘git rm’ 命令。要撤销对文件的 ‘git add’ 操作并删除该文件,可以使用以下命令:
例如,如果要撤销对文件 ‘example.txt’ 的 ‘git add’ 操作并彻底删除该文件,可以运行以下命令:
同样地,要撤销文件夹 ‘example_folder’ 的 ‘git add’ 操作并彻底删除该文件夹及其内容,可以运行以下命令:
需要注意的是,’git rm’ 命令会将删除的文件或文件夹直接提交到版本控制系统中。因此,在使用该命令之前,请确保你真正希望彻底删除文件或文件夹。
示例说明
假设我们有一个名为 ‘myproject’ 的 Git 仓库,并且已经将文件 ‘example.txt’ 和文件夹 ‘example_folder’ 添加到了暂存区:
现在我们发现 ‘example.txt’ 是不需要提交的文件,而 ‘example_folder’ 是误操作添加的文件夹。为了撤销这两个操作,我们可以按照以下步骤进行:
- 首先,使用 ‘git reset’ 命令将 ‘example.txt’ 从暂存区移回到工作区:
- 然后,使用 ‘git restore’ 命令将 ‘example_folder’ 从暂存区移回到工作区:
- 最后,如果不再需要这两个文件,我们可以使用 ‘git rm’ 命令彻底删除它们:
这样,我们成功地撤销了 ‘git add’ 操作,并将文件和文件夹从版本控制系统中移除。
总结
通过使用 ‘git reset’、’git restore’ 或 ‘git rm’ 命令,我们可以轻松地撤销多个文件和文件夹的 ‘git add’ 操作。这些命令能够将文件从暂存区还原到工作区,或者彻底删除文件。在日常开发中,当不小心将不需要提交的文件或文件夹添加到暂存区时,我们可以利用这些命令快速修复错误,保持代码仓库的干净和整洁。