在 Git 中取消缓存文件
在 Git 中,我们添加文件以跟踪特定分支的位置称为缓存区
或索引区
。这是一种组织文件并为提交做好准备的独特方式。
但有时,我们想从缓存区撤回文件。这个过程称为 unstaging
。如果我们不小心将任何文件添加到 Git,我们可以通过从分支执行 unstaging
过程将其从索引中撤消。
Git 为我们提供了各种命令来处理这种情况并解决这个关键问题以达到结果。本文将展示如何使用两个重要命令在 Git 中取消缓存文件。
在 Git 中如何取消缓存文件
在 Git
中,我们可以使用两种不同的方式取消缓存文件。下面详细解释这两种方式:
git rm -cached <file-name>
git reset Head <file-name>
使用 git rm
命令取消缓存文件
命令 git rm --cached
帮助我们从缓存区删除文件。当文件已经存在于 repo 中时,命令 git rm --cached
将帮助我们从索引中删除所需的文件。
这会将其保留在工作目录中,并且现在会将其从仓库中永久删除。
git rm --cached <filePath>
此命令不会取消缓存文件,它只会缓存从之前已经提交的 repo 中删除文件,并将文件留在我们的工作树中的分支中未跟踪。
使用 git reset
命令取消缓存文件
Git Reset 用于重置工作目录中所做的更改。我们可以通过它重置我们的仓库、缓存区和我们的工作目录。
从缓存区域中删除文件的最简单方法是执行以下命令,通过指定我们要使用以下命令取消缓存该文件的文件路径。
git reset <commit> -- <path>
如果我们不指定文件,它将自动引用当前签出分支中的 HEAD
。
如果我们没有用 git reset
指定文件名,那么所有的提交都将被取消缓存,缓存区在我们当前的签出分支中将是空的,之后将不会恢复。
因此,当你满意并确认删除或清空缓存区时,必须备份这些文件或执行这些命令。
$ git reset
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn