Не могу добавить определенный репо как подмодуль

698
Dean

Я переключаюсь на использование субмодулей для моих плагинов vim. Обычный способ сделать это:

$ git submodule add https://github.com/vim-scripts/a.vim bundle/a.vim Cloning into 'bundle/a.vim'... etc, etc 

Это прекрасно работает с каждым плагином, но Gundo:

$ git submodule add https://github.com/sjl/gundo.vim bundle/gundo 

Нет выхода от запуска этой команды. Репозиторий добавляется в .gitmodules и bundle/gundoсоздается, но пуст, за исключением .gitфайла.

$ cd bundle/gundo $ git status # On branch (null) # # Initial commit # nothing to commit (create/copy files and use "git add" to track) 

Я совершенно новичок в подмодулях. Что особенного в этом хранилище и как мне правильно добавить его?

2

1 ответ на вопрос

2
maljub01

Не уверен, что именно происходит, но это может быть полезно, если вы проверите / предоставите вывод следующего:

cd bundle/gundo git remote -v 

Если выходные данные показывают, что репо имеет правильное происхождение, тогда, возможно, вам просто нужно извлечь основную ветку, то есть:

cd bundle/gunco git fetch git checkout master 

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

git config -f .git/config --remove-section submodule.bundle/gundo git config -f .gitmodules --remove-section submodule.bundle/gundo git rm --cached bundle/gundo rm -rf .git/modules/bundle/gundo rm -rf bundle/gundo 

После этого git statusубедитесь, что все выглядит нормально. Затем попробуйте снова создать субмодуль.

Если ничего из этого не работает, попробуйте добавить свою версию git (run git --version:) и конфигурацию (run:) git config -lк вопросу, поскольку они могут помочь другим понять, что происходит.

PS: Вам не нужно вставлять весь вывод git config -l, и вам, вероятно, следует удалить / замаскировать user.name, user.email и любые другие данные, которыми вы не хотите делиться в Интернете.

Удачи!

Спасибо! Полное удаление подмодуля в соответствии с вашими шагами сделало свое дело. Я не уверен на 100%, но я думаю, что в первый раз неправильно ввел URL хранилища. Ранее я пытался удалить все следы, но я не был достаточно тщательным. Dean 11 лет назад 0

Похожие вопросы