Git删除目录

hri*_*rds 39 git version-control dvcs github

我在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 images和删除images目录git rm images,甚至mkdir images; git add images; git rm -r images但是无论我尝试什么,我得到相同的结果: fatal: pathspec 'images' did not match any files.

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

Sk6*_*606 53

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

git rm -r -f --cached DirectoryName
Run Code Online (Sandbox Code Playgroud)
  • -r:递归
  • -f:强制
  • --cached:仅适用于索引(临时区域).Git单独留下本地副本.


Bri*_*ell 41

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

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

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


niz*_*ghi 38

试试这个:

git rm -r -f DirectoryName
Run Code Online (Sandbox Code Playgroud)

  • `git rm -r -f --cached DirectoryName` <<<使用它来保留本地副本! (25认同)
  • 它物理移除! (16认同)
  • @ Sk606:您可以将其作为单独的答案发布吗?你会得到upvotes(至少来自我),因为这是真正的解决方案:) (2认同)