hrickards hrickards - 4 months ago 24
Git Question

Git remove directory

I've got a repository on GitHub (http://github.com/hrickards/PHP-Crypto) for a little project me and a couple of others are working on. My development environment is Aptana Studio, and I use the EGit plugin as Aptana is basically Eclipse underneath. Today the designer sent the HTML and CSS for the website with the images in a folder named img. Previously the images were in a folder called images. Thinking nothing of it and being too lazy to update the CSS and HTML, I simply kept the images in the img directory and commited to Git. However, the GitHub web interface shows both the img and images directories, with the images directory being empty. I've tried deleting the images directory with

git rm -r images
and
git rm images
, and even
mkdir images; git add images; git rm -r images
but whatever I try I get the same result:
fatal: pathspec 'images' did not match any files
.

Has anyone got any advice on how to remove images, or am I misunderstanding Git or something?

Answer

Git does not store any information about the directory, just the files within it. So, you cannot add or remove directories themselves; if you say git add images, Git will add all of the files within that directory (that don't match the ignore list).

Generally, the only way for there to be an empty directory is if it actually contains a file, usually a hidden file like .gitignore.

You said that you see an images directory on GitHub, but I'm not seeing it in the repo that you linked to. Are you sure it's there, and not just an empty directory on your disk? If it's just an empty directory on your disk, you can just remove it using rm images; Git doesn't need to know about it.