114 votes

"Vous êtes sur une branche qui n'est pas encore née" lors de l'ajout d'un sous-module git

J'essaie d'ajouter quelques sous-modules à mon site Web. .vim/bundles et lorsque je tente d'ajouter ce repo particulier, Git me donne une erreur étrange que je n'ai 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'

Une idée de ce qui peut causer cela ?

Si je clone le même dépôt dans un répertoire de test (sans passer par la commande submodule), cela fonctionne bien et crée les fichiers attendus.

205voto

Alexander Points 2827

Pour corriger cette erreur, vous devez supprimer le dossier avec le même chemin que le sous-module à l'intérieur .git/modules/ répertoire. Cette erreur peut se produire lorsque l'url était incorrecte pour le submodule pour la première fois lorsque le submodule a été ajouté.

15voto

florian Points 31

Cette erreur peut se produire si vous ajoutez un sous-module qui n'a pas d'adresse IP. master branche. Si vous voulez utiliser une autre branche lors de l'ajout du sous-module ( develop par exemple), vous pouvez utiliser la commande suivante :

git submodule add -b <branch> <repository>

12voto

Useless Points 18909

Vous devez ajouter un sous-module à l'intérieur de un repo existant, ce repo doit être en état d'ajouter et de commiter le lien du sous-module, et le repo du sous-module lui-même doit avoir un commit à extraire.

Maintenant, le repo du sous-module lui-même doit être ok si vous pouvez créer un clone régulier ailleurs. Cependant, il semble que submodule add se plaint si le repo est vide alors que clone ne le fait pas. Ce type suggère que cela peut être résolu en exécutant simplement la même submodule add de nouveau.

Si le repo interne est no vide, vérifiez le repo que vous voulez contiennent le sous-module. Passez dans le même répertoire que celui où vous avez exécuté git submodule add et exécutez git status y git branch pour vérifier que votre repo contenant a au moins une branche créée et n'est pas dans un état bizarre.

0voto

JMcF Points 631

Comme l'a fait remarquer @drew-noakes, cela peut être causé par la tentative d'ajouter un sous-module en utilisant un nom de répertoire qui est listé dans votre fichier de configuration. .gitignore fichier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X