Git удалить каталог - PullRequest
       7

Git удалить каталог

39 голосов
/ 22 декабря 2009

У меня есть репозиторий на GitHub (http://github.com/hrickards/PHP-Crypto) для небольшого проекта, над которым я и несколько других работаем. Моя среда разработки - Aptana Studio, и я использую плагин EGit, поскольку Aptana - это в основном Eclipse. внизу. Сегодня дизайнер отправил HTML и CSS для веб-сайта с изображениями в папку с именем img. Ранее изображения находились в папке с именем images. Ничего не думая об этом и будучи слишком ленивым для обновления CSS и HTML, я просто продолжал изображения в каталоге img и переданы в Git. Однако веб-интерфейс GitHub показывает каталоги img и images, а каталог images пустой. Я попытался удалить каталог images с помощью git rm -r images и git rm images, и даже mkdir images; git add images; git rm -r images но что бы я ни пытался, я получаю тот же результат: fatal: pathspec 'images' did not match any files.

Кто-нибудь получил какой-либо совет о том, как удалить изображения, или я неправильно понимаю Git или что-то?

Ответы [ 4 ]

50 голосов
/ 07 апреля 2014

Это то, что я использую, и я думаю, вы тоже захотите. Это близко к другим ответам, но указывает git НЕ изменять локальные файлы.

git rm -r -f --cached DirectoryName
  • -r: рекурсивный
  • -f: сила
  • - кэшировано: применяется ТОЛЬКО к индексу (промежуточной области). Git оставляет локальные копии в покое.
41 голосов
/ 22 декабря 2009

Git не хранит никакой информации о каталоге, только файлы в нем. Таким образом, вы не можете добавлять или удалять каталоги сами; если вы скажете git add images, Git добавит все файлы в этом каталоге (которые не соответствуют списку игнорируемых файлов).

Как правило, единственный способ создать пустой каталог - если он действительно содержит файл, обычно скрытый файл, такой как .gitignore.

Вы сказали, что видите каталог images на GitHub, но я не вижу его в репозитории, на который вы ссылались. Вы уверены, что он есть, а не просто пустой каталог на вашем диске? Если это просто пустой каталог на вашем диске, вы можете просто удалить его, используя rm images; Git не должен знать об этом.

38 голосов
/ 10 мая 2013

попробуйте это:

git rm -r -f DirectoryName
3 голосов
/ 22 декабря 2009

В связанном репозитории GitHub не отображается каталог изображений.

Git не хранит пустые каталоги по техническим причинам, поэтому просто попробуйте rm images и удалите каталог images из вашей локальной иерархии каталогов.

...