在 Git 中撤消 rm
在 Git 中,术语 rm 是 git remove
命令的别名。因此它用于从仓库中删除单个文件或一堆文件。Git 中 git rm
的主要功能是使用 Git 索引删除跟踪的文件。
但是,git rm
也可用于从工作目录和索引中删除文件。它从当前工作目录及其在同一分支中的子目录中删除文件。它不会删除当前工作目录之外的文件。值得一提的是,git rm
命令不用于删除仓库中的分支。
在 Git 中删除文件
要从 Git 索引中删除单个文件,我们使用以下命令:
$ git rm <file>
同样,要从 Git 中删除一堆文件,我们使用以下命令。
$ git rm <file> <file> <file> ...
如果我们希望从工作目录中删除文件,我们使用以下命令:
$ git rm --cached <file>
git rm --cached
从工作目录中删除文件时,它不会从 Git 索引中删除它。
但是在这篇文章中,我们说明了如果我们不小心应用了这个命令该怎么办,现在我们想恢复它。下面提到的方法是还原更改的简单方法。Git 有很多命令可以恢复它。我认为最好在以下部分涵盖我们将使用最多的内容:
使用 Git checkout
命令恢复 rm
命令:
首先,我们将执行命令 git reset 将暂存区恢复为我们所做的更改。
git reset
应用 git reset
后,我们将运行 git checkout
以恢复同一仓库中上次签入时删除的文件或文件夹。
git checkout <file-name>
如果我们不想恢复暂存区域并检查已删除的文件,我们可以通过提及 head 来轻松执行它,以达到预期的目标,如下所示:
git checkout HEAD <file-name>
使用 Git reset
命令恢复 rm
命令
如果我们没有重要的未提交更改,那么我们将使用 --hard
选项运行 git reset
,这会将所有内容重置为我们在分支中的最新提交:
git reset --hard HEAD
如果我们有未提交的更改,但第一个 git 命令不起作用,那么我们将使用 git stash
保存未提交的更改:
git stash
git reset --hard HEAD
git stash pop
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn