git - как удалить пустую папку и нажать это изменение?
как я могу удалить пустую папку локально, а также это произойдет для других сотрудников, которые совместно используют пульт через pull-push? Я знаю,что папки не "отслеживаются" в этом смысле git, но вопрос остается.
например, я переместил файл в другую папку и фиксации изменений (движения).
но я не могу git rm name папка, как я получаю "не соответствует"
git rmdir name не существует.
Я могу сделать git clean -f folder но как это сделать вытолкали вверх?
Я могу напрямую rm файл, но как я могу получить, что удаление каталога сделано правильно и толкнул в репозиторий, а затем к другим, когда они тянут так, что их существующая папка удаляется?
4 ответов
короткий ответ: вы не можете нажать изменения в каталогах (добавлено, удалено и т. д.) потому что Git не отслеживает каталоги самостоятельно.
По словам часто задаваемые вопросы:
В настоящее время дизайн индекса git (промежуточная область) разрешает перечислять только файлы, и никто, достаточно компетентный, чтобы внести изменения, чтобы разрешить пустые каталоги, не заботился об этой ситуации, чтобы исправить ее.
добавлены каталоги автоматически при добавлении файлов внутри них. То есть каталоги никогда не должны добавляться в репозиторий и не отслеживаются самостоятельно.
Что касается Git, ваш пустой каталог больше не существует.
я обнаружил, что привыкание использовать git clean -fd удаляет необходимость нажатия на удаление каталогов. Однако,git clean можно удалить элементы, которые вы не хотите удалять (включая любые новые файлы, которые вы еще не совершили), поэтому я склонен для первого использования git clean -fdn чтобы увидеть, что будет будет удален, если я использую команду.
похоже, вам придется поговорить с другими разработчиками, чтобы очистить этот каталог.
вы не можете нажать пустые папки. Но если вы хотите очистить пустые папки в клонированном / локальном РЕПО, зафиксируйте свои последние изменения.. Тогда просто удалите все файлы кроме .папка git в локальной копии. Затем снова сбросьте все изменения, что возвращает все файлы, но оставляет пустые каталоги, которые он не отслеживает.
немного хакерский способ обойти это-создать поддельный файл в каталоге, зафиксировать его, а затем удалить. Удаление также приведет к удалению каталога. Так что создайте имя / подделку.txt
git add name/fake.txt
git commit -m "message"
git rm name/fake.txt
git commit -m "message2"