协慌网

登录 贡献 社区

如何从 Git 的暂存区域中删除单个文件,但不将其从索引中删除或撤消对文件本身的更改?

情况:我有一个 Git 存储库,其中包含已存在于索引中的文件。我对几个文件进行了更改,打开 Git 并使用 “git add” 将这些文件添加到我的临时区域。

问题:如何从暂存区域中删除其中一个文件但不将其从索引中删除或撤消对文件本身的更改?

答案

如果我正确理解了这个问题,你只需要 “撤消” 为该文件完成的git add

如果需要从暂存区域中删除单个文件 ,请使用

git reset HEAD -- <file>

如果需要从暂存区域中删除整个目录(文件夹) ,请使用

git reset HEAD -- <directoryName>

您的修改将被保留。当您运行git status该文件将再次显示为已修改但尚未暂存。

有关详细信息,请参阅git reset手册页

git rm --cached FILE

git rm -r --cached CVS */CVS

git reset <file>

无论您是否有任何先前的提交,都可以使用。