Подтвердить что ты не робот

Git - как удалить пустую папку и нажать это изменение?

Как я могу удалить пустую папку локально, а также это произойдет для других соавторов, которые делят пульт с помощью pull-push? Я знаю, что папки не отслеживаются в этом смысле git, но вопрос остается.

например. Я переместил файл в другую папку и совершил изменение (перемещения).

Но я не могу git rm name папку, поскольку я получаю "не соответствует" git rmdir name не существует.

Я могу сделать git clean -f folder, но как это подтолкнуть?

Я могу напрямую rm использовать этот файл, но как я могу сделать это удаление каталога корректным и нажатым в репозиторий, а затем другим, когда они вытаскивают, чтобы удалить существующую папку?

4b9b3361

Ответ 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"