Ответ 1
Вам нужно rm -rf
без git:
rm -rf vim/bundle/snipmate-snippets
Тогда вы можете отключить подмодуль:
git submodule deinit vim/bundle/snipmate-snippets
У меня вопрос об удалении подмодулей 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 останутся. Спасибо.
Вам нужно rm -rf
без git:
rm -rf vim/bundle/snipmate-snippets
Тогда вы можете отключить подмодуль:
git submodule deinit vim/bundle/snipmate-snippets
У вас больше не будет этого сообщения об ошибке с 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
не удается даже при принудительной "теперь иллюстрирует.