J'essaie d'ajouter quelques sous-modules à mon .vim/bundles
répertoire, et lorsque j'essaye d'ajouter ce dépôt 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 (pas via la commande de sous-module), cela fonctionne correctement et crée les fichiers attendus.
git
git-submodules
mat b
la source
la source
.vim/bundle/vim-scala
le chemin à supprimer était.git/modules/.vim/bundle/vim-scala
dir /AH
.git/modules/path/to/submodule
répertoire et essayer de rajouter le sous-module, je reçois l'erreur Le chemin suivant est ignoré par l'un de vos fichiers .gitignore: chemin / vers / sous-module .Vous devez ajouter un sous-module dans un dépôt existant, ce dépôt doit être dans un état pour ajouter et valider le lien de sous-module, et le dépôt de sous-module lui-même doit avoir un commit à extraire.
Maintenant, le dépôt de sous-module lui-même doit être correct si vous pouvez créer un clone régulier ailleurs. Cependant, cela ressemble à une
submodule add
plainte si le dépôt est vide alors que le clone ne l'est pas. Ce type suggère que cela peut être corrigé en exécutant à nouveau la mêmesubmodule add
commande.Si le dépôt interne n'est pas vide, cochez le dépôt que vous souhaitez contenir le sous-module. Accédez au même répertoire dans lequel vous avez exécuté
git submodule add
et exécutégit status
, etgit branch
pour vérifier que votre dépôt conteneur a au moins une branche créée et n'est pas dans un état étrange.la source
master
branche. Lemaster
dépôt auquel j'essaie d'ajouter celui-ci en tant que sous-module est sur la branche, n'a pas de problèmes évidents (le statut renvoie des fichiers modifiés, mais c'est tout), et le plus étrange de tous est que je peux ajouter d'autres sous-modules très bien à ce référentiel .fatal
avertissement de mon OP, git laisse un répertoire vide à.vim/bundle/vim-scala
. J'ai également remarqué que même si ce.gitmodules
n'est pas touché, il a ajouté quelques lignes faisant référence à ce repo github.com.git/config
, mais après avoir supprimé celles-ci, j'obtiens toujours le mêmefatal
message d'erreur.This guy suggests this is fixable by just running the same submodule add command again.
. J'ai lutté contre ce problème en essayant de trouver une réponse sensée et cela l'a finalement résolu. C'était pour git 1.8.0 sous MSYS lors de la création d'un sous-module à partir de BitBucket, donc si vous êtes dans la même situation, essayez d'abord ceci.Cette erreur peut se produire si vous ajoutez un sous-module qui n'a pas de
master
branche. Si vous souhaitez utiliser une autre branche lors de l'ajout du sous-module (develop
par exemple), vous pouvez utiliser la commande suivante:la source
git submodule add -b master <repo.git> <folder>
aidémaster
solution qui fonctionnait pour moi.Comme indiqué par @ drew-noakes, cela peut être causé en essayant d'ajouter un sous-module à l'aide d'un nom de répertoire répertorié dans votre fichier .gitignore .
la source