Git删除目录

我在GitHub上有一个仓库( http://github.com/hrickards/PHP-Crypto )用于一个小项目,还有其他一些项目正在开发中。 我的开发环境是Aptana Studio,我使用EGit插件,因为Aptana基本上是Eclipse。 今天,devise师将网站的HTML和CSS发送到名为img的文件夹中。 以前,图像位于名为“图像”的文件夹中。 我什么都不想,懒得更新CSS和HTML,我只是把图像保存在img目录中,并提交给Git。 但是,GitHub Web界面显示了img和images目录,images目录是空的。 我试过用git rm -r imagesgit rm images删除图像目录,甚至是mkdir images; git add images; git rm -r images mkdir images; git add images; git rm -r images mkdir images; git add images; git rm -r images但无论我尝试我得到相同的结果: fatal: pathspec 'images' did not match any files

有没有人有任何build议如何删除图像,或者我误解Git或什么?

Git不存储关于该目录的任何信息,只是其中的文件。 所以,你不能自己添加或删除目录; 如果你说git add images ,Git将添加该目录内的所有文件(与忽略列表不匹配)。

通常情况下,空白目录的唯一方法是如果它实际上包含一个文件,通常是隐藏的文件,如.gitignore

你说你在GitHub上看到一个images目录,但是我没有看到你链接到的repo。 你确定它在那里,而不只是在磁盘上的空目录? 如果它只是磁盘上的空目录,则可以使用rm images将其删除; Git不需要知道它。

尝试这个:

 git rm -r -f DirectoryName 

这是我用的,我想你也会想要的。 这是接近其他答案,但指示git不要更改本地文件。

 git rm -r -f --cached DirectoryName 
  • -r:recursion
  • -f:强制
  • – caching:仅应用于索引(暂存区域)。 Git独自离开本地副本。

链接的GitHub存储库不显示图像目录。

由于技术原因,Git不存储空目录,所以只要尝试rm images并从本地目录层次结构中删除图像目录即可。