Не могу добавить определенный репо как подмодуль
Я переключаюсь на использование субмодулей для моих плагинов 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)
Я совершенно новичок в подмодулях. Что особенного в этом хранилище и как мне правильно добавить его?
1 ответ
Не уверен, что именно происходит, но это может быть полезно, если вы проверите / предоставите вывод следующего:
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 (запустите: git --version
) и ваш конфиг (запустите: git config -l
) к вопросу, поскольку они могут помочь другим понять, что происходит.
PS: Вам не нужно вставлять весь вывод git config -l
и вам, вероятно, следует удалить / mask-out user.name, user.email и любые другие данные, которыми вы не хотите делиться в Интернете.
Удачи!