Estou tentando adicionar alguns submódulos ao meu .vim/bundles
diretório e, quando tento adicionar esse repo específico, o Git me dá um erro estranho que nunca vi antes:
$ 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'
Alguma ideia do que pode causar isso?
Se eu clonar o mesmo repo em um diretório de teste (não por meio do comando submodule), ele funciona bem e cria os arquivos esperados.
git
git-submodules
matt b
fonte
fonte
.vim/bundle/vim-scala
o caminho para excluir era.git/modules/.vim/bundle/vim-scala
dir /AH
.git/modules/path/to/submodule
diretório e tentar adicionar novamente o submódulo, recebo o erro. O seguinte caminho é ignorado por um de seus arquivos .gitignore: caminho / para / submódulo .Você precisa adicionar um submódulo dentro de um repo existente, esse repo precisa estar em um estado para adicionar e confirmar o link do submódulo e o próprio repo do submódulo deve ter um commit para fazer check-out.
Agora, o submódulo repo em si deve estar ok se você puder criar um clone regular em outro lugar. No entanto, parece que
submodule add
reclama se o repositório estiver vazio, enquanto o clone não. Esse cara sugere que isso pode ser corrigido apenas executando o mesmosubmodule add
comando novamente.Se o repositório interno não estiver vazio, verifique o repositório que você deseja que contenha o submódulo. Mude para o mesmo diretório onde você executou
git submodule add
, executegit status
egit branch
verifique se o repo que o contém tem pelo menos um branch criado e não está em um estado estranho.fonte
master
branch. O repositório ao qual estou tentando adicionar este como um submódulo está nomaster
branch, não tem problemas óbvios (o status retorna alguns arquivos modificados, mas isso é tudo) e o mais estranho de tudo é que posso adicionar outros submódulos perfeitamente a este repositório .fatal
aviso do meu OP, git deixa um diretório vazio em.vim/bundle/vim-scala
. Também percebi que, embora.gitmodules
não tenha sido alterado, ele adicionou algumas linhas referentes a este repositório github.com.git/config
, mas após removê-las ainda recebo a mesmafatal
mensagem de erro.This guy suggests this is fixable by just running the same submodule add command again.
. Tenho lutado contra esse problema tentando encontrar uma resposta sensata e isso finalmente resolveu. Isso era para git 1.8.0 sob MSYS durante a criação de um submódulo do BitBucket, então se você estiver na mesma situação, tente isto primeiro.Este erro pode ocorrer se você estiver adicionando um submódulo que não tem um
master
branch. Se quiser usar outro branch ao adicionar o submódulo (develop
por exemplo), você pode usar o seguinte comando:fonte
git submodule add -b master <repo.git> <folder>
master
sua solução funcionou para mim.Como aludido por @drew-noakes, isso pode ser causado pela tentativa de adicionar um submódulo usando um nome de diretório que está listado em seu arquivo .gitignore .
fonte