Si je modifie un sous-module, puis-je repousser le commit à l'origine du sous-module, ou cela nécessiterait-il un clone? En cas de clonage, puis-je stocker un clone dans un autre référentiel?
git
git-submodules
webjay
la source
la source
git config push.recurseSubmodules on-demand
. Ensuite, un simplegit push
suffira pour tout pousser (repo principal et sous-modules). Voir ma réponse modifiée ci-dessous .Réponses:
Un sous-module n'est rien d'autre qu'un clone d'un dépôt git dans un autre dépôt avec des métadonnées supplémentaires (entrée d'arborescence gitlink, fichier .gitmodules)
la source
gh-pages
branche pour la documentation sur unNotez que depuis git1.7.11 ( [ANNONCE] Git 1.7.11.rc1 et note de publication , juin 2012) mentionne:
Probablement fait après ce patch et l'
--on-demand
option:Ainsi, vous pouvez tout pousser en une seule fois avec (à partir du dépôt parent) a:
Cette option ne fonctionne que pour un seul niveau d'imbrication. Les modifications apportées au sous-module à l'intérieur d'un autre sous-module ne seront pas transmises.
Avec git 2.7 (janvier 2016), un simple push git suffira pour pousser le repo parent ... et tous ses sous-modules.
Voir commit d34141c , commit f5c7cd9 (3 décembre 2015), commit f5c7cd9 (3 décembre 2015) et commit b33a15b (17 novembre 2015) par Mike Crowe (
mikecrowe
) .(Fusionné par Junio C Hamano -
gitster
- in commit 5d35d72 , 21 déc 2015)La
git config
doc comprend désormais :Alors:
Git 2.12 (1er trimestre 2017)
git push --dry-run --recurse-submodules=on-demand
fonctionnera réellement.Voir commit 0301c82 , commit 1aa7365 (17 novembre 2016) par Brandon Williams (
mbrandonw
) .(Fusionné par Junio C Hamano -
gitster
- in commit 12cf113 , 16 déc 2016)Et toujours dans Git 2.12, vous avez maintenant une option "
--recurse-submodules=only
" pour pousser les sous-modules sans pousser le superprojet de niveau supérieur .Voir commit 225e8bf , commit 6c656c3 , commit 14c01bd (19 décembre 2016) par Brandon Williams (
mbrandonw
) .(Fusionné par Junio C Hamano -
gitster
- dans commit 792e22e , 31 janvier 2017)la source