Retrospectivamente add –recursive a un git repo

Si haces git clone con --recursive , puedes get todos los submodules de git también.

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

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

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 pnetworkingeterminada. La forma correcta de hacerlo si usa los submodules 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.

  1. Desde la raíz de su repository:

     $ git submodule update --init --recursive 

    Eso actualizará todos y cada uno de los submodules registrados, inicializándolos si es necesario con el valor que se encuentra en el file .gitmodules, y también recurrirá en submodules complejos (con submodules 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 pnetworkingeterminado 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.

Parece que no puede anular "clonar" con alias "clonar", por lo que es un nuevo alias (solución de Abizern) o "–recursivo".

¿Es posible anular el command git por git alias?