git rm --cached file vs git reset file

Vih*_*rma 61 git git-reset git-rm

我正在努力学习Git.我很困惑

git rm --cached file
Run Code Online (Sandbox Code Playgroud)

git reset file
Run Code Online (Sandbox Code Playgroud)

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

CB *_*ley 83

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

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

  • 也许作为补充:`git rm --cached`会将文件的*delete*动作添加到索引中,就像`git add`将添加*add*动作一样. (3认同)