“Vous êtes sur une twig à naître” lors de l’ajout du sous-module git

J’essaie d’append quelques sous-modules à mon .vim/bundles , et quand .vim/bundles d’append ce repo particulier, Git me donne une erreur étrange que je n’avais jamais vue auparavant:

 $ 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' 

Toute idée de ce qui peut causer cela?

Si je clone le même référentiel dans un répertoire de test (pas via la commande submodule), cela fonctionne correctement et crée les fichiers attendus.

Pour corriger cette erreur, vous devez supprimer le dossier avec le même chemin d’access au sous-module dans le .git/modules/ . Cette erreur peut se produire lorsque l’URL était incorrecte pour le sous-module lors de la première utilisation du sous-module.

Vous devez append un sous-module dans un référentiel existant, ce référentiel doit être en état d’append et de valider la liaison de sous-module, et le référentiel de sous-module lui-même doit avoir un engagement à extraire.

Maintenant, le repo du sous-module doit être correct si vous pouvez créer un clone régulier ailleurs. Cependant, il semble que le submodule add plaint si le repository est vide alors que le clone ne le fait pas. Ce gars suggère que cela est réparable en exécutant à nouveau la même commande submodule add .

Si le référentiel interne n’est pas vide, vérifiez le référentiel que vous souhaitez inclure dans le sous-module. Passez dans le même répertoire où vous avez exécuté git submodule add , et lancez git status , et git branch pour vérifier que votre référentiel contenant a au moins une twig créée et qu’il n’est pas dans un état étrange.

Cette erreur peut survenir si vous ajoutez un sous-module sans twig principale. Si vous souhaitez utiliser une autre twig lors de l’ajout du sous-module ( develop par exemple), vous pouvez utiliser la commande suivante:

 git submodule add -b   

Comme indiqué par @ drew-noakes, cela peut être dû à la tentative d’ajout d’un sous-module utilisant un nom de répertoire répertorié dans votre fichier .gitignore .