git rm --cached file vs git reset file

时间:2012-09-30 12:40:56

标签: git git-reset git-rm

我正在努力学习Git。

我很困惑
git rm --cached file

git reset file

两个命令似乎都将文件从暂存区域转移到非暂存区域。这些命令有何不同?

1 个答案:

答案 0 :(得分:83)

git rm --cached <file>将从索引中完全删除文件的内容。这意味着在提交时,文件将从HEAD提交中删除。 (如果文件仅添加到索引中但尚未跟踪,则这是“无操作”。)

git reset -- <file>将索引中文件的内容重置为与头部提交相同。这意味着在提交时,不会对文件提交任何更改。如果HEAD提交中没有跟踪的文件版本,则此操作无效。