Ajouter rétrospectivement --recursive à une git repo

si vous git clone avec --recursive , vous pouvez obtenir tous les sous-modules git aussi.

si j'ai oublié d'ajouter ce drapeau magique lors du clonage, comme cela peut arriver, Comment puis-je maintenant aller chercher des sous-modules?

en outre, Comment puis-je définir le drapeau récursif par défaut pour les clones futurs?

54
demandé sur alex 2010-11-23 04:35:08

4 réponses

vous pouvez le faire avec ceci après un simple clone de haut niveau:

git submodule update --init --recursive

Je ne recommande pas que clone fasse cela par défaut. La bonne façon de le faire si vous utilisez des sous-modules agressivement pour le développement et pas seulement le lien vers des tiers OSS libs sur github que vous pouvez mettre à niveau une fois dans une lune bleue, est d'utiliser esclave de git ou subtree .

Espérons que cette aide.

66
répondu Adam Dymitruk 2010-11-24 02:54:17
  1. à Partir de la racine de votre repo:

    $ git submodule update --init --recursive
    

    qui mettra à jour tous les sous-modules enregistrés, en les initialisant si nécessaire à la valeur trouvée dans le .gitmodules fichier, et également de manière récursive en complexe submodules (avec submodules de leur propre) et initialiser et mettre à jour.

  2. la façon la plus facile que je connaisse de faire du clonage récursif la valeur par défaut serait de shadow git clone avec un alias

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

    en ce qui concerne l'ajout d'options toujours, je pense que c'est la méthode idiomatique.

9
répondu Tim Visher 2010-11-23 21:12:07

IIRC, git submodule init , git submodule update

malheureusement, je ne vois pas d'option pour activer la récursive par défaut, cependant.

1
répondu user502515 2010-11-23 01:51:27

il semble que vous ne pouvez pas remplacer" clone "avec alias" clone", donc c'est un nouvel alias (solution D'Abizern) ou"--recursive".

est-il possible d'outrepasser la commande git par alias git?

0
répondu Dell Kronewitter 2017-05-23 10:31:22