个性化阅读
专注于IT技术分析

Git rm用法详解

本文概述

在Git中, 术语rm表示删除。它用于删除单个文件或文件集合。 git rm的关键功能是从Git索引中删除跟踪的文件。此外, 它可用于从工作目录和登台索引中删除文件。

要删除的文件必须是分支删除的理想文件。对其内容的任何更新都不能在索引中进行。否则, 删除过程可能很复杂, 有时不会发生。但是, 可以通过-f选项强制执行此操作。

让我们通过一个例子来理解它。

git rm命令

git rm命令用于从工作树和索引中删除文件。

如果要从存储库中删除文件。然后可以通过git rm命令来完成。让我们以一个名为newfile.txt的文件来测试rm命令。 git rm命令的操作方式如下:

$ git rm <file Name>

上面的命令将从Git和存储库中删除文件。 git rm命令不仅从存储库中删除文件, 还从临时区域中删除文件。如果我们检查存储库的状态, 那么它将显示为已删除。考虑以下输出:

Git rm用法详解

在以上输出中, 文件newfile.txt已从版本控制系统中删除。因此, 存储库和状态显示为已删除。如果仅使用rm命令, 它将不会从Git永久删除文件。可以在暂存区域中对其进行跟踪。考虑以下输出:

Git rm用法详解1

在以上输出中, 文件newfile2.txt已被删除。但是, 当我们检查存储库的状态时, 我们可以在暂存区域中跟踪文件。这意味着newfile2尚未从登台区域中删除, 它在存储库中也可用。我们可以通过提交将其恢复到版本控制系统上。要提交文件, 首先, 将其添加到索引中, 然后提交。要将此文件添加到索引中, 请运行以下命令:

$ git add newfile2.txt

上面的命令会将文件添加到索引中。要提交它, 请运行以下命令:

$ git commit -m "commit message."

它将提交文件并将其提供给版本控制系统。考虑以下输出:

Git rm用法详解2

在上面的输出中, 我们正在将文件从登台区域检索到我们的目录中。 newfile2.txt被重新添加到我们的存储库中。


Git Rm缓存

有时你想从Git中删除文件, 但将文件保留在本地存储库中。换句话说, 你不想在Git上共享文件。 Git允许你这样做。在这种情况下, 将使用缓存的选项。它指定删除操作仅作用于登台索引, 而不作用于存储库。带有缓存选项的git rm命令将用作:

$ git rm --cached <file name>

上面的命令将从版本控制系统中删除文件。删除的文件将保留在存储库中。此命令将以某种方式充当rm命令。让我们通过一个例子来理解它。

假设我们要从Git删除文件, 请使用newfile1.txt进行操作以删除该文件, 请使用以下命令:

$ git rm --cached newfile1.txt

上面的命令将从版本控制系统中删除该文件, 但是仍然可以在存储库中对其进行跟踪。也可以在版本控制系统上重新添加它。要检查文件状态, 请使用status命令, 如下所示:

$ git status

考虑以下输出:

Git rm用法详解3

从上面的输出中可以看到, newfile1.txt文件已从版本控制系统中删除, 但是可以在存储库中对其进行跟踪。该文件在版本控制系统上作为未跟踪的文件可用。我们可以通过提交来跟踪它。

撤消Git Rm命令

git rm命令的执行不是永久的;执行后可以将其还原。在对存储库进行新提交之前, 这些更改无法持久保存。我们可以撤消git rm命令。有几种方法可以这样做。最普通和直接的方法是git reset命令。 git reset命令将如下使用:

$ git reset HEAD

或者我们也可以使用:

$ git reset --hard

上面的命令将重置磁头的位置。这样它就可以得到其上一点的位置。考虑以下输出:

Git rm用法详解4

从上面的输出中, 我们可以看到文件已成功重置到其先前位置。

还有另一种方法来撤消git rm命令。我们也可以通过git checkout命令来做到这一点。签出具有相同的效果, 并且可以从HEAD恢复文件的最新版本。它的用法如下:

$ git checkout.

Git Rm命令的限制

git rm仅在当前分支上运行。删除过程仅适用于工作目录和暂存索引树。在创建新的提交之前, 它不会保留在存储库历史记录中。


赞(0)
未经允许不得转载:srcmini » Git rm用法详解

评论 抢沙发

评论前必须登录!