Git удалить каталог
У меня есть репозиторий на GitHub (http://github.com/hrickards/PHP-Crypto) для небольшого проекта, над которым меня и некоторые другие работают. Моя среда разработки - Aptana Studio, и я использую плагин EGit, поскольку Aptana - это в основном Eclipse. Сегодня дизайнер отправил HTML и CSS для веб-сайта с изображениями в папке с именем img. Раньше изображения находились в папке с изображениями. Не думая об этом и слишком ленив, чтобы обновить CSS и HTML, я просто сохранил изображения в каталоге img и получил значение Git. Однако веб-интерфейс GitHub показывает как каталоги img, так и изображения, при этом каталог изображений пуст. Я попытался удалить каталог изображений с 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 или что-то в этом роде?
Ответы
Ответ 1
Git не хранит никакой информации о каталоге, а только файлы внутри него. Таким образом, вы не можете добавлять или удалять сами каталоги; если вы скажете git add images
, Git добавит все файлы внутри этого каталога (которые не соответствуют списку игнорирования).
Как правило, единственный путь для того, чтобы быть пустым каталогом, состоит в том, что он фактически содержит файл, обычно скрытый файл, например .gitignore
.
Вы сказали, что видите каталог images
на GitHub, но я не вижу его в репо, с которым вы связались. Вы уверены, что это есть, а не просто пустая директория на вашем диске? Если это просто пустой каталог на вашем диске, вы можете просто удалить его с помощью rm images
; Git не нужно знать об этом.
Ответ 2
попробуйте следующее:
git rm -r -f DirectoryName
Ответ 3
Это то, что я использую, и я думаю, что вы тоже захотите. Это близко к другим ответам, но инструктирует git НЕ изменять локальные файлы.
git rm -r -f --cached DirectoryName
- -r: рекурсивный
- -f: force
- - кешировать: применять ТОЛЬКО к индексу (область постановки). git оставляет только локальные копии.
Ответ 4
Связанный репозиторий GitHub не показывает каталог изображений.
Git не сохраняет пустые каталоги по техническим причинам, поэтому просто попробуйте rm images
и удалите каталог изображений из вашей локальной иерархии каталогов.