不能 git rm 目录

Joh*_*ohn 5 git rm

我不小心在我应该提交的项目列表中添加了一个目录。现在,当我尝试运行 git rm dirname 时,出现错误

rm 'dirname'
fatal: git rm: 'dirname': Is a directory
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令git rm -rf dirnamegit rm dirname --force,但这些都不起作用。他们都产生了相同的错误信息。

如何防止 dirname 被提交?

我正在使用 git 版本 1.7.0.4

谢谢

补充说明

好吧,它似乎git rm -rf dirname只在某些条件下有效。我进行了一些测试,通常可以正常工作。但是,如果dirname它本身是一个单独控制的 git 存储库,其中包含 .git 目录,它将失败。我有这个设置,因为它dirname是我的许多项目共享的 git 控制框架。

chu*_*ckx 7

除非有任何权限问题...

git rm --cached -r dirname

这应该从暂存提交中删除目录。

此时,它应该是未跟踪的,最好通过gitignore将其设置为忽略。