196 votes

Comment puis-je extraire une version spécifique d'un sous-module en utilisant 'git submodule' ?

Comment faire pour ajouter un sous-module Git pour un tag ou un commit spécifique ?

246voto

joemaller Points 2349

Les dépôts de sous-modules restent dans un état HEAD détaché pointant vers un commit spécifique. Modifier ce commit implique simplement de vérifier un tag ou un commit différent puis d'ajouter le changement au dépôt parent.

$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0

git-status sur le référentiel parent signalera maintenant un arbre sale :

# On branch dev [...]
#
#   modified:   submodule (new commits)

Ajouter le répertoire du sous-module et commettre pour stocker le nouveau pointeur.

46voto

fsenart Points 1694

Étape 1 : Ajouter le sous-module

   git submodule add git://some_repository.git some_repository

Étape 2 : Fixer le sous-module à un commit particulier

Par défaut, le nouveau sous-module suivra HEAD de la branche master, mais il ne sera PAS mis à jour lorsque vous mettrez à jour votre dépôt primaire. Afin de changer le sous-module pour suivre un commit particulier ou une branche différente, changez de répertoire vers le dossier du sous-module et changez de branche comme vous le feriez dans un dépôt normal.

   git checkout -b some_branch origin/some_branch

Maintenant le sous-module est corrigé sur la branche de développement au lieu de HEAD de master.

De Two Guys Arguing - Lier les sous-modules Git à un commit ou une branche particulière .

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