Git Rm



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_https://bianchenghao6.com_【Git 教程】_第1张

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

Git Rm_https://bianchenghao6.com_【Git 教程】_第2张

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

上面的命令会将文件添加到索引。要提交它,请运行以下命令:
$ git commit-m "commit message."

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

Git Rm_https://bianchenghao6.com_【Git 教程】_第3张

在上面的输出中,我们正在检索文件从暂存区到我们的目录。 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_https://bianchenghao6.com_【Git 教程】_第4张

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

撤消Git Rm命令

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

或者我们也可以使用:
$ git reset--hard

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

Git Rm_https://bianchenghao6.com_【Git 教程】_第5张

从上面的输出中,我们可以看到文件已成功重置到以前的位置。
还有另一种撤消git rm命令的方法。我们也可以通过git checkout命令来做到这一点。签出具有相同的效果,并从HEAD恢复文件的最新版本。它将使用如下:
$ git checkout. 

Git Rm命令的限制

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