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

Проблема с удалением подмодуля git

У меня вопрос об удалении подмодулей git. Я организую свои конфигурационные файлы и пакеты vim с помощью git, с пакетами vim в качестве подмодулей. Теперь я пытаюсь удалить подмодуль (в соответствии с инструкциями здесь, но мне это не удается.

--git submodule deinit -f vim/bundle/snipmate-snippets
Submodule work tree 'vim/bundle/snipmate-snippets' contains a .git directory
(use 'rm -rf' if you really want to remove it including all of its history)

Итак, я пытаюсь rm -rf...

--git rm -rf vim/bundle/snipmate-snippets
error: the following submodule (or one of its nested submodules)
uses a .git directory:
    vim/bundle/snipmate-snippets
(use 'rm -rf' if you really want to remove it including all of its history)

Что я делаю неправильно? Очевидно, что просто выполнение rm -rf как git говорит мне, что это будет недостаточно, поскольку записи подмодуля в файле .gitmodules останутся. Спасибо.

4b9b3361

Ответ 1

Вам нужно rm -rf без git:

rm -rf vim/bundle/snipmate-snippets

Тогда вы можете отключить подмодуль:

git submodule deinit vim/bundle/snipmate-snippets

Ответ 2

У вас больше не будет этого сообщения об ошибке с Git 2.12 (Q1 2017)

См. commit 55856a3 (27 декабря 2016 г.) и commit 83b7696, commit 5a1c824, commit bd26756 (20 декабря 2016 г.) Стефан Беллер (stefanbeller).
(объединено Junio ​​C Hamano - gitster - в commit 3ccd681, 18 января 2017 г.

rm: абсорбировать подмодули Git dir перед удалением

"git rm", используемый для отказа от удаления подмодуля, когда он имеет свой собственный репозиторий Git, встроенный в его рабочее дерево.
Он научился переместить хранилище на $GIT_DIR/modules/ суперпроекта и разрешить удаление субмодуля (пока не будет потери локальных изменений, то есть).

При удалении подмодуля нам нужно сохранить фактическую директорию Git, так что мы не теряем локальные изменения там и при более поздней проверке подмодуля нам не нужно снова клонировать.

Теперь, когда функциональность доступна для поглощения каталога Gitподмодуль, переписать проверку в git-rm, чтобы не жаловаться, а скорее переместить каталоги Git внутри суперпроекта.

Это то, что новый тест "rm заполненного вложенного подмодуля с вложенным каталогом .git не удается даже при принудительной "теперь иллюстрирует.