the submodules submodule index explained commands already absorbgitdirs git version-control git-submodules git-clone

index - git submodules commands



Retrospectivamente add--recursive a un git repo (4)

Si haces git clone con --recursive , puedes obtener todos los submódulos de git también.

Si olvidé agregar esta bandera mágica al clonar, como puede suceder, ¿cómo puedo obtener submódulos?

Además, ¿cómo puedo configurar el indicador recursivo como predeterminado para clones futuros?


  1. Desde la raíz de su repositorio:

    $ git submodule update --init --recursive

    Eso actualizará todos y cada uno de los submódulos registrados, inicializándolos si es necesario con el valor que se encuentra en el archivo .gitmodules, y también recurrirá en submódulos complejos (con submódulos propios) e inicializarlos y actualizarlos también.

  2. La manera más fácil que conozco para hacer la clonación de forma recursiva es que el predeterminado sea sombrear git clone con un alias

    $ git config --global alias.clone = ''clone --recursive''

    En cuanto a agregar opciones siempre, creo que ese es el método idiomático.


IIRC, git submodule init , git submodule update

Desafortunadamente, no veo una opción para habilitar recursivo por defecto, sin embargo.



Puedes hacerlo con esto después de un simple clon de alto nivel:

git submodule update --init --recursive

No recomendaría que el clon lo haga de forma predeterminada. La forma correcta de hacerlo si usa los submódulos agresivamente para el desarrollo y no solo vincula a libs de OSS de terceros en github que puede actualizar una vez en una luna azul, es usar git slave o subtree .

Espero que esto ayude.