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

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

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

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

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

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

 manojlds09 апр. 2012 г., 16:53
что вы имеете в виду, вопрос остается?

Ответы на вопрос(5)

папки в своем клонированном / локальном репо, зафиксируйте последние изменения. Затем просто удалите все файлы, кроме папки .git в вашей локальной копии. Затем снова сбросьте все изменения, что вернет все файлы, но оставит пустые каталоги, которые он не отслеживает.

зафиксировать его, а затем удалить. Удаление также приведет к удалению каталога. Так что создайте name / fake.txt

git add name/fake.txt
git commit -m "message"
git rm name/fake.txt
git commit -m "message2"
 22 авг. 2014 г., 15:01
у меня не сработало :(
 20 янв. 2015 г., 14:01
Этот подход действительно работает, но на втором шаге вы хотите удалить папку, содержащую файлrm -rf name и затем передайте изменения, папка теперь исчезнет
 30 нояб. 2018 г., 15:27
создает ненужные коммиты
Решение Вопроса

You can't push changes to directories (added, removed, etc.) because Git does not track directories on their own.

СогласноЧасто задаваемые вопросы:

Currently the design of the git index (staging area) only permits files to be listed, and nobody competent enough to make the change to allow empty directories has cared enough about this situation to remedy it.

Directories are added automatically when adding files inside them. That is, directories never have to be added to the repository, and are not tracked on their own.

Поэтому, что касается Git, ваш пустой каталог больше не существует.

Я обнаружил, что привыкнуть использоватьgit clean -fd устраняет необходимость нажатия на удаление каталогов. Тем не мение,git clean Я могу удалить элементы, которые вы, возможно, не хотите удалять (включая новые файлы, которые вы еще не добавили), поэтому я склонен использоватьgit clean -fdn чтобы увидеть, чтоwill быть удален, если я использую команду.

Похоже, вы можете быть вынуждены поговорить со своими коллегами-разработчиками, чтобы очистить этот каталог.

 08 апр. 2018 г., 00:34
@DanielSokolowski, это тот же подход в git, по крайней мере, при клонировании репо. Я обнаружил, что при клонировании репозитория, содержащего пустой каталог, git не создает пустой каталог. Разве это не большая проблема, потому что теперь я должен проверить, что каталог существует для записи файлов?
 30 июл. 2017 г., 03:13
Этот ответ неполон.git svn fetch поддерживает пустые папки. Четноеgit svn rebase воссоздать пустые папки, если просто удалить одну.
 06 авг. 2015 г., 01:01
Mercurial имеет более разумный подход - каталог удаляется, если он пуст:stackoverflow.com/a/3917322/913223 а такжеsuperuser.com/questions/81204/…

deleting Empty folders

я хотел удалить пустой каталог (папку), которую я создал, git не может удалить его, после некоторого исследования, которое я узнал Git не отслеживает пустые каталоги. Если у вас есть пустой каталог в вашем рабочем проекте, вы должны просто удалить его с помощью

rm -r folderName

Нет необходимости привлекать Git. обратите внимание, этот ответ проверен только на локальных репозиториях,

git add --all
git clean -f -d
git commit -m "trying to remove folders"
git push

Ваш ответ на вопрос