Git RM –Cached 和 Git Reset File 的区别
本文讨论 git rm --cached
和 it reset<file>
命令之间的区别。 我们将讨论每个命令的功能,以了解两者之间的差异。
git rm –cached 和 git reset 之间的区别
为了更简单的上下文,我们将探索每个命令可以完成什么,然后分析这两个命令显示的不同输出。 让我们直接进入。
git rm –cached 命令
有时,Git 可以在运行 git status 命令后为您提供以下建议。
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .env
让我们尝试使用 rm 选项取消暂存 .env 文件。 我们将运行以下内容:
$ git rm --cached .env
让我们运行 git status
命令来检查我们工作目录的状态。
$ git status
输出:
从上面的输出中,我们可以看到我们的 .env 文件已被删除,但仍保留在未跟踪文件下。 让我们看看 git reset<file>
命令会做什么。
git reset <文件> 命令
我们将运行 git reset
命令,如下所示:
$ git reset HEAD .env
我们现在可以运行 git status
命令来检查我们的工作树。
$ git status
输出结果如下:
从上面的输出中,我们可以看到 git reset <file>
命令已经取消了对文件所做的修改。
git rm --cached
命令暂存一个文件以供删除,但不跟踪该文件。 另一方面,git reset <file>
命令只会取消暂存一个文件。
当你想在不修改工作树的情况下取消暂存未跟踪的文件时, git rm --cached
选项是理想的选择。 对应的命令 git reset <file>
将重置索引而不是工作树。
简而言之,git rm --cached
命令将删除索引中的路径并使它们不被跟踪,而 git reset<file>
命令将仅重置索引。 对未跟踪的文件使用 git rm --cached
命令。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。