Git - как удалить пустую папку и нажать это изменение?
Как я могу удалить пустую папку локально, а также это произойдет для других соавторов, которые делят пульт с помощью pull-push? Я знаю, что папки не отслеживаются в этом смысле git, но вопрос остается.
например. Я переместил файл в другую папку и совершил изменение (перемещения).
Но я не могу git rm name
папку, поскольку я получаю "не соответствует"
git rmdir name
не существует.
Я могу сделать git clean -f folder
, но как это подтолкнуть?
Я могу напрямую rm
использовать этот файл, но как я могу сделать это удаление каталога корректным и нажатым в репозиторий, а затем другим, когда они вытаскивают, чтобы удалить существующую папку?
Ответы
Ответ 1
Короткий ответ: Вы не можете вносить изменения в каталоги (добавлены, удалены и т.д.), потому что Git не отслеживает каталоги самостоятельно.
В соответствии с FAQ:
В настоящее время дизайн индекса Git (промежуточная область) позволяет только перечислять файлы, и никто, достаточно компетентный, чтобы внести изменения, позволяющие пустым каталогам, достаточно заботился об этой ситуации, чтобы исправить это.
Каталоги добавляются автоматически при добавлении в них файлов. То есть каталоги никогда не должны добавляться в репозиторий и не отслеживаются сами по себе.
Итак, что касается Git, ваш пустой каталог больше не существует.
Я обнаружил, что привычка использовать git clean -fd
устраняет необходимость нажатия на удаление каталогов. Тем не менее, git clean
может удалять элементы, которые вы не можете удалить (включая любые новые файлы, которые вы еще не сделали), поэтому я предпочитаю сначала использовать git clean -fdn
, чтобы увидеть, что будет удалено, если я использую команда.
Похоже, вы можете быть вынуждены поговорить с другими разработчиками, чтобы очистить этот каталог.
Ответ 2
git add --all
git clean -f -d
git commit -m "trying to remove folders"
git push
Ответ 3
для удаления пустых папок
я хотел удалить пустой каталог (папку), которую я создал, git не может удалить его, после некоторого исследования я узнал, что Git не отслеживает пустые каталоги. Если у вас есть пустой каталог в вашем рабочем проекте, вы должны просто удалить его с помощью
rm -r folderName
Нет необходимости привлекать Git. обратите внимание, этот ответ проверен только на локальных репозиториях,
Ответ 4
Вы не можете пустить пустые папки. Но если вы хотите очистить пустые папки в своем клонированном/локальном репо, зафиксируйте свои последние изменения. Затем просто удалите все файлы, кроме папки .git, в локальной копии. Затем reset все снова изменяется, что возвращает все файлы, но оставляет пустые каталоги, которые он не отслеживает.
Ответ 5
Немного взломанный способ создать фальшивый файл в каталоге, зафиксировать его, а затем удалить. Удаление этого файла также приведет к удалению каталога.
Поэтому создайте имя /fake.txt
git add name/fake.txt
git commit -m "message"
git rm name/fake.txt
git commit -m "message2"