Pregunta

Esta pregunta se basa en este hilo .

Mis .gitmodules es en mi casa

[submodule "bin"]
           path = bin
           url = git://github.com/masi/bin.git

Mi -estructura carpeta en mi casa:

~
|-- [drwxr-xr-x] bin          // this is the folder which I make a submodule
                              // it is also a folder where I have a Git to push my submodule's files
    | -- fileA
    ` -- folderA
    ...

corro

git submodule init    # I get no output from these commands
git submodule update          

corro

git submodule foreach git pull

consigo

Entering 'bin'
fatal: Where do you want to fetch from today?
Stopping at 'bin'; script returned non-zero status.

Mi primera suposición reparar el fallo era cambiar path = bin a path = /Users/Masi/bin. Sin embargo, esto no resuelve el problema.

¿Cómo se puede cargar el contenido del repositorio externo que es un submódulo en mi Git?

¿Fue útil?

Solución

Este es normalmente el error cometido cuando no hay configurado remoto.
(De este hilo )

Se introdujo un parche que corrige al menos la regresión cuando se ejecuta "git pull" en un repositorio inicializado Hace mucho tiempo que no utiliza el archivo .git / config para especificar dónde mis repositorios remotos son.

  

un mensaje mejor probablemente sería algo como:

     

No hay mando por defecto está configurado para su rama actual,
  y el valor predeterminado a distancia "origen" no está configurado bien.

     

Creo que el mensaje perdido está haciendo fácil de usar en los pases anteriores debido   a ser inaccesible en el momento.


Así que este mensaje indica el repositorio remoto mencionado en .git / módulos no se declara en .git / config

git submódulo

Los submódulos no deben confundirse con los mandos a distancia, que están destinados principalmente para las ramas de un mismo proyecto;
submódulos son para diferentes proyectos que le gustaría hacer parte de su árbol de fuentes, mientras que la historia de los dos proyectos aún se mantiene totalmente independiente y no se puede modificar el contenido del submódulo dentro del proyecto principal.

Creo que puede haber perdido el paso de git submodule init:

submódulo init

  

Inicializar los submódulos, es decir. registrar cada submódulo nombre y la dirección URL que se encuentra en .gitmodules en .git / config .
  La clave utilizada en .git/config es submodule.$name.url.
  Esta orden no altera la información existente en .git / config.
  A continuación, puede personalizar las URLs clon submódulo en .git/config para su configuración local y proceder a la actualización GIT submódulo; También se puede simplemente usar git submodule update --init sin el paso de inicialización explícita si usted no tiene intención de personalizar cualquier ubicación submódulo.

Si tu repositorio remoto (declarada en .git / modules) se posiciona adecuadamente en .git / config, no debería tener este mensaje de error más.

Antes de usar submódulos (Pullin), las etapas:

git submodule init
git submodule update

siendo necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top