Git Rm命令

在Git中,rm代表的是remove(删除)。它用于删除单个文件或一组文件。git rm的主要功能是从Git索引中删除被跟踪的文件。此外,它还可以用于从工作目录和暂存索引中删除文件。

被删除的文件必须符合分支的理想状态。它们的内容不应该在索引中进行过任何更新。否则,删除过程可能会变得复杂,有时甚至不会发生。但可以通过 -f 选项强行删除。

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

git rm命令

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

如果我们想要从我们的仓库中删除文件,可以使用git rm命令来实现。假设我们有一个名为newfile.txt的文件进行rm命令的测试。git rm命令的操作如下:

$ git rm <file Name>

上述命令将从Git和存储库中删除该文件。git rm命令不仅会从存储库中删除文件,还会从暂存区中删除。如果我们检查存储库的状态,那么它将显示为已删除。请看下面的输出:

Git Rm命令

$ git add newfile2.txt

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

$ git commit -m "commit message."

它将提交文件并使其在版本控制系统中可用。请考虑以下输出:

Git Rm命令

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

Git Rm Cached

有时候你想从Git中删除文件,但是仍然想要在本地仓库中保留这些文件。换句话说,你不想在Git上分享你的文件。Git允许你这么做。在这种情况下可以使用cached选项。它指定删除操作只在暂存区上生效,而不会影响仓库。git rm命令加上cached选项的使用方式如下:

$ git rm --cached <file name> 

上述命令将从版本控制系统中删除一个文件。已删除的文件将保留在存储库中。不知何故,此命令将作为rm命令的作用。让我们通过一个示例来理解它。

假设我们想要从Git中删除一个文件,选择 newfile1.txt 进行操作,使用以下命令:

$ git rm --cached newfile1.txt

上述命令将从版本控制系统中删除该文件,但仍然可以在存储库中跟踪。它也可以重新添加到版本控制系统中。要检查文件状态,请使用以下命令:

$ git status

请考虑下面的输出:

Git Rm命令

从上面的输出可以看出,newfile1.txt文件被从版本控制系统中删除,但它仍然可以在仓库中被追踪。这个文件在版本控制系统中作为一个未跟踪文件而存在。我们可以通过提交来跟踪它。

撤销git rm命令

git rm命令的执行是不永久的,它可以在执行后进行撤销。这些变更在仓库上直到进行新的提交之前都不会生效。我们可以撤销git rm命令的操作。有几种方法可以做到这一点。最常见和直接的方法是使用git reset命令。git reset命令将按以下方式使用:

$ git reset HEAD

或者我们也可以使用:

$ git reset --hard

上述命令将重置头的位置,使其获取其刚刚前一个点的位置。请考虑下面的输出:

Git Rm命令

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

还有另一种方法来撤销git rm命令。我们也可以通过git checkout命令来实现。checkout会产生相同的效果,从HEAD中恢复文件的最新版本。用法如下:

$ git checkout. 

Git Rm命令的限制

git rm仅在当前分支上操作。删除过程仅应用于工作目录和暂存索引树。直到创建新的提交信息前,删除操作不会在存储库历史中持久保留。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程