Git remove directory

邮差的信 提交于 2019-12-09 04:29:20

问题


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?


回答1:


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.




回答2:


This is what I use, and I think you'll want to as well. It's close to the other answers, but instructs git to NOT change the local files.

git rm -r -f --cached DirectoryName
  • -r : recursive
  • -f : force
  • --cached : apply ONLY to index (staging area). Git leaves the local copies alone.



回答3:


try this:

git rm -r -f DirectoryName



回答4:


The linked GitHub repository does not show the images directory.

Git does not store empty directories for technical reasons, so just try rm images and remove the images directory from your local directory hierarchy.



来源:https://stackoverflow.com/questions/1947430/git-remove-directory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!