git rm 命令

执行 git rm 命令以从 git 存储库中删除特定文件或者一组文件。

git rm 的主要功能是从暂存区和工作目录中删除跟踪的文件。
但是,不能仅从工作目录中删除文件。
必须提及的是 git rm 命令不用于删除分支。
该命令更新暂存区和工作目录。
在创建新提交之前,这些更改不会持久化。
更改包含在提交历史记录中,这意味着可以使用其他 git 命令撤消它们。

--hard 选项

--hard 选项是 git reset 最常用的选项。
然而,它有一些风险。
使用此选项,提交历史引用指针开始指向指定的 git commit。

接下来,暂存区和工作目录被重置以匹配声明的提交。
先前暂挂到暂存区和工作目录的更改将重置为对应于提交树状态。
暂存区和工作目录中的任何挂起提交都将丢失。

恢复 git rm -r 的步骤

下面,我们将找到有关如何恢复已删除文件或者文件夹的几个选项。

使用 git checkout 命令恢复 git rm

首先,我们应该执行 git reset 命令来恢复当前的暂存区。

git reset

运行 git reset 后,我们可以运行 git checkout 来恢复删除的文件/文件夹。

git checkout <file-name>

我们可以使用单个命令来实现相同的目标,而不是恢复暂存区并检出已删除的文件:

git checkout HEAD <file-name>

使用 git reset 命令恢复 git rm

如果没有重要的未提交更改,请使用 --hard 选项运行 git reset ,这会将所有内容重置为最新提交:

git reset --hard HEAD
如何恢复“git rm -r”

正如我们所知, git rm 命令从工作目录中删除文件或者文件夹,并将该更改添加到暂存区。

但是,有时,开发人员会不小心调用它或者提供错误的文件作为参数。
其中我们将演示如何在这种情况下采取行动。

git checkout 命令

git checkout 命令用于切换分支或者恢复工作树的文件。
它可以应用于文件、提交和分支。
简而言之,git checkout 命令允许我们在单个存储库中的多个功能之间切换。
必须说明 git checkout 与 git branch 命令一起运行。
它更新工作目录中的文件以匹配该分支中保存的版本,告诉 Git 记录所有新提交。
此外, git checkout 与 git clone 命令相关联。

最后,请注意 git clone 从远程存储库获取代码,而 git checkout 旨在切换本地系统上的代码版本。

日期:2020-06-02 22:16:43 来源:oir作者:oir