Comment pourrais-je ajouter un sous-module Git pour une balise ou un commit spécifique?
Comment pourrais-je ajouter un sous-module Git pour une balise ou un commit spécifique?
Réponses:
Les référentiels de sous-modules restent dans un état HEAD détaché pointant vers un commit spécifique. Changer ce commit implique simplement de retirer une balise ou un commit différent, puis d'ajouter le changement au référentiel 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)
Ajoutez le répertoire du sous-module et engagez-vous à stocker le nouveau pointeur.
Étape 1: ajouter le sous-module
git submodule add git://some_repository.git some_repository
Étape 2: Fixez le sous-module à un commit particulier
Par défaut, le nouveau sous-module suivra HEAD de la branche principale, mais il ne sera PAS mis à jour lorsque vous mettez à jour votre référentiel principal. Afin de changer le sous-module pour suivre un commit particulier ou une branche différente, changez de répertoire dans le dossier du sous-module et changez de branche comme vous le feriez dans un référentiel normal.
git checkout -b some_branch origin/some_branch
Maintenant, le sous-module est fixé sur la branche de développement au lieu de HEAD of master.
From Two Guys Arguing - Attachez des sous-modules Git à un commit ou une branche particulière .
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -b
puisse prendre une balise ou un sha1hash. Cela ne peut prendre qu'une branche.
-b
les branches de support et non les balises ou les shas de commit sont une fonctionnalité et non un bogue (en fait, -b
c'est un raccourci pour --branch
).