55 votes

Comment puis-je git clone --recursive et checkout master sur tous les sous-modules d’une seule ligne ?

J’aime beaucoup cette commande pour récupérer un dépôt avec des sous-modules:

Cependant, les sous-modules sont tous réglés sur « pas de branche » lorsqu’ils arrivent, et je dois commander manuellement le maître sur chacun d’eux. Existe-t-il un moyen d’extraire récursivement des sous-modules et de définir automatiquement la branche sur master ?

81voto

qbein Points 159

Après avoir cloné le référentiel contenant vos sous-modules, la commande suivante extraira la branche principale sur tous ces éléments en une seule fois :

65voto

Mauvis Ledford Points 12424

Que diriez-vous:

Pour initialiser tous les sous-modules et sous-modules à l’intérieur des sous-modules. Je ne sais pas si cela sera maître de paiement cependant.

24voto

tcurdt Points 4916

La question est de savoir pourquoi vous passez à la caisse. Vos sous-modules sont épinglés à un sha spécifique - c’est aussi pourquoi les clones de sous-modules sont fixés à ce commit spécifique. En ne pointant pas vers un sha spécifique, un dépôt externe pourrait facilement casser vos constructions. Certainement pas ce que vous voulez. Mieux vaut mettre à jour consciemment. Les builds doivent être reproductibles et aussi fixes que possible.

8voto

YesThatIsMyName Points 53

Comme déjà répondu

fait le travail pour le maîtrede branche .

Mais s’il s’agit d’une branche qui n’est pas présente dans tous les sous-modules on peut utiliser

Sinon, la commande échouera sur le premier dépôt n’ayant pas la branche spécifiée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X