Git Rm17 Mar 2025 | 4 分钟阅读 在 Git 中,术语 rm 代表 remove(移除)。 它用于移除单个文件或一组文件。 git rm 的关键功能是从 Git 索引中删除已跟踪的文件。 此外,它还可用于从工作目录和暂存索引中删除文件。 要删除的文件必须适合要删除的分支。 它们的任何内容更新都不能在索引中暂存。 否则,删除过程可能会很复杂,有时不会发生。 但可以通过 -f 选项强制执行。 让我们用一个例子来理解它。 git rm 命令git rm 命令用于从工作树和索引中删除文件。 如果我们要从存储库中删除文件,那么可以通过 git rm 命令来完成。 让我们以一个名为 newfile.txt 的文件为例来测试 rm 命令。 git rm 命令将如下操作 上述命令将从 Git 和存储库中删除该文件。 git rm 命令不仅从存储库中删除文件,还从暂存区中删除文件。 如果我们检查存储库的状态,它将显示为已删除。 考虑以下输出 ![]() 在上述输出中,文件 newfile.txt 已从版本控制系统中删除。 因此,存储库和状态显示为已删除。 如果我们仅使用 rm 命令,那么它不会永久删除 Git 中的文件。 可以在暂存区中对其进行跟踪。 考虑以下输出 ![]() 在上述输出中,文件 newfile2.txt 已被删除。 但是,当我们检查存储库的状态时,我们可以在暂存区中跟踪该文件。 这意味着 newfile2 尚未从暂存区中删除,并且它也在存储库中可用。 我们可以通过提交它将其恢复到版本控制系统。 要提交该文件,首先将其添加到索引中,然后提交它。 要将此文件添加到索引中,请运行以下命令 上述命令将把文件添加到索引中。 要提交它,请运行以下命令 它将提交该文件并使其可用于版本控制系统。 考虑以下输出 ![]() 在上述输出中,我们正在从暂存区中检索该文件到我们的目录。 newfile2.txt 重新添加到我们的存储库中。 Git Rm 缓存有时您希望从 Git 中删除文件,但将文件保留在您的本地存储库中。 换句话说,您不想在 Git 上共享您的文件。 Git 允许您这样做。 在这种情况下使用 cached 选项。 它指定删除操作仅对暂存索引起作用,而不是对存储库起作用。 带有缓存选项的 git rm 命令将如下使用 上述命令将从版本控制系统中删除文件。 删除的文件将保留在存储库中。 在某种程度上,此命令将充当 rm 命令。 让我们用一个例子来理解它。 假设我们要从 Git 中删除一个文件,以 newfile1.txt 为例来删除该文件,请使用以下命令 上述命令将从版本控制系统中删除该文件,但它仍可以在存储库中进行跟踪。 也可以将其重新添加到版本控制系统中。 要检查文件状态,请使用状态命令,如下所示 考虑下面的输出 ![]() 从上面的输出中我们可以看到,newfile1.txt 文件已从版本控制系统中删除,但它可以在存储库中进行跟踪。 该文件作为未跟踪文件在版本控制系统上可用。 我们可以通过提交它来跟踪它。 撤销 Git Rm 命令git rm 命令的执行不是永久性的; 可以在执行后恢复。 在存储库上进行新的提交之前,这些更改无法保留。 我们可以撤消 git rm 命令。 有几种方法可以做到。 最常用和直接的方法是 git reset 命令。 git reset 命令将如下使用 或者我们也可以使用 上述命令将重置 head 的位置。 因此,它将获得其前一个点的位置。 考虑以下输出 ![]() 从上面的输出中,我们可以看到该文件已成功重置为其先前的位置。 还有另一种方法可以撤消 git rm 命令。 我们也可以通过 git checkout 命令来完成。 检出具有相同的效果,并从 HEAD 恢复文件的最新版本。 它将如下使用 Git Rm 命令的限制git rm 仅在当前分支上操作。 删除过程仅应用于工作目录和暂存索引树。 在创建新提交之前,它不会保留在存储库历史记录中。 下一个主题Git Cherry-pick |
我们请求您订阅我们的新闻通讯以获取最新更新。