Estoy intentando agregar algunos submódulos a mi .vim/bundlesdirectorio, y cuando intento agregar este repositorio en particular, Git me da un error extraño que nunca antes había visto:
$ 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'
¿Alguna idea de qué puede causar esto?
Si clono el mismo repositorio en un directorio de prueba (no a través del comando del submódulo), funciona bien y crea los archivos esperados.
git
git-submodules
mate b
fuente
fuente

.vim/bundle/vim-scalala ruta para eliminar, fue.git/modules/.vim/bundle/vim-scaladir /AH.git/modules/path/to/submoduledirectorio e intentar volver a agregar el submódulo, recibo el error La siguiente ruta es ignorada por uno de sus archivos .gitignore: ruta / a / submódulo .Debe agregar un submódulo dentro de un repositorio existente, ese repositorio debe estar en un estado para agregar y confirmar el enlace del submódulo, y el repositorio del submódulo debe tener un compromiso para verificar.
Ahora, el repositorio del submódulo debe estar bien si puede crear un clon regular en otro lugar. Sin embargo, parece que se
submodule addqueja si el repositorio está vacío, mientras que el clon no. Este tipo sugiere que esto se puede arreglar simplemente ejecutando el mismosubmodule addcomando nuevamente.Si el repositorio interno no está vacío, verifique el repositorio que desea que contenga el submódulo. Cambie al mismo directorio donde ejecutó
git submodule addy ejecutegit status, ygit branchpara verificar que su repositorio contenedor tenga al menos una rama creada y no esté en un estado extraño.fuente
masterrama. El repositorio al que estoy tratando de agregar este como un submódulo está en lamasterrama, no tiene problemas obvios (el estado devuelve algunos archivos modificados, pero eso es todo), y lo más extraño de todo es que puedo agregar otros submódulos bien a este repositorio .fataladvertencia de mi OP, git deja un directorio vacío en.vim/bundle/vim-scala. También noté que, aunque.gitmodulesno se ha modificado, agregó algunas líneas que se refieren a este repositorio de github.com.git/config, pero después de eliminarlas, sigo recibiendo el mismofatalmensaje de error.This guy suggests this is fixable by just running the same submodule add command again.. He estado luchando contra este problema tratando de encontrar una respuesta sensata y esto finalmente lo solucionó. Esto fue para git 1.8.0 bajo MSYS mientras creaba un submódulo desde BitBucket, así que si se encuentra en la misma situación, intente esto primero.Este error puede ocurrir si está agregando un submódulo que no tiene una
masterrama. Si desea usar otra rama al agregar el submódulo (developpor ejemplo), puede usar el siguiente comando:fuente
git submodule add -b master <repo.git> <folder>ayudómastersolución que funcionó para mí.Como aludió @ drew-noakes, esto puede deberse al intento de agregar un submódulo usando un nombre de directorio que aparece en su archivo .gitignore .
fuente