Я пытаюсь добавить несколько подмодулей в свой .vim/bundles
каталог, и когда я пытаюсь добавить это конкретное репо, Git выдает мне странную ошибку, которую я никогда раньше не видел:
$ git submodule add -f git://github.com/derekwyatt/vim-scala.git .vim/bundle/vim-scala
fatal: You are on a branch yet to be born
Unable to checkout submodule '.vim/bundle/vim-scala'
Есть идеи, что может вызвать это?
Если я клонирую одно и то же репо в тестовый каталог (не с помощью команды submodule), он работает нормально и создает ожидаемые файлы.
git
git-submodules
Мэтт Би
источник
источник
.vim/bundle/vim-scala
путь для удаления, был.git/modules/.vim/bundle/vim-scala
dir /AH
.git/modules/path/to/submodule
каталога и попытаюсь повторно добавить подмодуль, я получаю сообщение об ошибке . Один из ваших файлов .gitignore игнорирует следующий путь: path / to / submodule .Вам необходимо добавить подмодуль внутри существующего репо, это репо должно быть в состоянии для добавления и фиксации ссылки на подмодуль, а само репо подмодуля должно иметь фиксацию для проверки.
Теперь репозиторий подмодуля должен быть в порядке, если вы можете создать обычный клон в другом месте. Однако, похоже,
submodule add
жалуется, если репо пуст, а клон нет. Этот парень предполагает, что это можно исправить, просто запустив ту жеsubmodule add
команду еще раз.Если внутреннее репо не пусто, проверьте репо, которое вы хотите содержать подмодуль. Перейдите в тот же каталог, в котором вы запустили
git submodule add
, и запуститеgit status
, иgit branch
убедитесь, что в вашем репозитории есть хотя бы одна ветка и не находится ли она в странном состоянии.источник
master
ветка. Репо, к которому я пытаюсь добавить это, поскольку подмодуль находится вmaster
ветке, не имеет очевидных проблем (статус возвращает некоторые измененные файлы, но это все), и самое странное, что я могу добавить другие подмодули в этот репозиторий. ,fatal
предупреждения от моего OP git оставляет пустой каталог по адресу.vim/bundle/vim-scala
. Я также заметил, что, хотя.gitmodules
он не был затронут, он добавил несколько строк, относящихся к этому репозиторию github.com.git/config
, но после их удаления я все еще получаю то жеfatal
сообщение об ошибке.This guy suggests this is fixable by just running the same submodule add command again.
, Я боролся с этой проблемой, пытаясь найти разумный ответ, и это, наконец, исправило ее. Это было для git 1.8.0 под MSYS при создании подмодуля из BitBucket, поэтому, если вы находитесь в такой же ситуации, сначала попробуйте это.Эта ошибка может произойти, если вы добавляете подмодуль, у которого нет
master
ветки. Если вы хотите использовать другую ветку при добавлении подмодуля (develop
например), вы можете использовать следующую команду:источник
git submodule add -b master <repo.git> <folder>
помоглоmaster
сработала для меня.Как указано в @ drew-noakes, это может быть вызвано попыткой добавить подмодуль с использованием имени каталога, указанного в вашем файле .gitignore .
источник