Git删除目录

时间:2009-12-22 16:22:15

标签: git version-control github dvcs

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

有没有人对如何删除图片有任何建议,或者我误解了Git或其他什么?

4 个答案:

答案 0 :(得分:50)

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

git rm -r -f --cached DirectoryName
  • -r:recursive
  • -f:force
  • - 缓存:仅应用于索引(暂存区域)。 Git独自留下了本地副本。

答案 1 :(得分:41)

Git不存储有关目录的任何信息,只存储其中的文件。因此,您无法自行添加或删除目录;如果你说git add images,Git会添加该目录中的所有文件(与忽略列表不匹配)。

通常,存在空目录的唯一方法是它实际上是否包含文件,通常是隐藏文件,如.gitignore

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

答案 2 :(得分:38)

试试这个:

git rm -r -f DirectoryName

答案 3 :(得分:3)

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

由于技术原因,Git不存储空目录,因此只需尝试rm images并从本地目录层次结构中删除images目录。