git rm --cached 文件名 与git reset HEAD -- 文件名有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git rm --cached 文件名 与git reset HEAD -- 文件名有啥区别?相关的知识,希望对你有一定的参考价值。
git rm --cached <file>: 是删除暂存区的指定文件的意思。如果删除的是新文件,效果同reset;若删除的是之前有提交的老文件,暂存区该文件变成删除、工作区文件变成新增。git reset HEAD <file>:使用 HEAD 节点的指定文件重置暂存区的意思。这样两边内容一致没有差异,等同于丢弃了暂存区的文件。HEAD 节点是当前分支最顶部的提交,也就是最新的一次提交。 参考技术A
git rm --cached xxx :从暂存区里移除文件,但是不删除工作区的文件。即取消跟踪这个文件。
git reset HEAD -- xxx:将 xxx 文件,最后一次提交(HEAD指针的位置)的版本,放入暂存区。
都可以用来取消当前改动的暂存,但 git rm --cached xxx 会取消跟踪文件,而 git reset HEAD -- xxx 不会。
git rm And git rm --cached And git reset HEAD
git rm
git rm 会将条目从缓存区中移除。这与 git reset HEAD 将条目取消缓存是有区别的。 "取消缓存"的意思就是将缓存区恢复为我们做出修改之前的样子。
默认情况下,git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。
如果你要在工作目录中留着该文件,可以使用 git rm --cached:
如我们删除 hello.php文件:
git rm hello.php
当前的工作目录和 本地的缓存区都不会有hello.php文件了。
以上是关于git rm --cached 文件名 与git reset HEAD -- 文件名有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
git rm --cached 文件名 与git reset HEAD -- 文件名有啥区别?
git rm And git rm --cached And git reset HEAD
git rm -r --cached 去掉已经托管在git上的文件
GIT RM -R --CACHED 去掉已经托管在GIT上的文件