337 votes

Est-il un moyen de faire la commande git pull automatiquement mise à jour submodules?

Est-il un moyen de automatiquement git submodule update (ou, de préférence, git submodule update --init appelé à chaque fois qu' git pull est fait?

Vous cherchez un git config paramètre, ou un alias git pour vous y aider.

123voto

Kevin Ballard Points 88866

git config alias.pullall '!git pull && git submodule update --init --recursive'

Si vous voulez les arguments passés à la commande git pull, puis de les utiliser à la place:

git config alias.pullall '!f(){ git pull "$@" && git submodule update --init --recursive; }; f'

45voto

Christopher Rogers Points 2807

Départ avec Git 1.7.5 elle devrait mettre à jour submodules automatiquement par défaut comme vous le souhaitez.
Le comportement par défaut, "à la demande", est de mettre à jour submodules chaque fois que vous récupérez un engageons à ce que les mises à jour de la sous-module s'engager, et ce commit n'est pas déjà présente dans votre clone local.
Vous pouvez aussi l'avoir mis à jour sur chaque fetch ou jamais (pré-1.7.5 comportement je suppose).
L'option de configuration pour modifier ce comportement est - fetch.recurseSubmodules.

Cette option peut être soit une valeur booléenne ou d' on-demand.
Le paramètre est un booléen modifie le comportement de l' fetch et pull sans condition de manière récursive en submodules lorsque la valeur true ou de ne pas répéter à tous lorsque la valeur est false.

Lorsque la valeur on-demand (la valeur par défaut), fetch et pull ne recurse dans un peuplé de sous-module lors de son superproject récupère un engageons à ce que les mises à jour de la sous-module de référence.

Voir:

pour plus d'informations.

git fetch --recurse-submodules[=yes|on-demand|no]

8voto

Jefromi Points 127932

Un alias, comme suggéré par Kevin Ballard, est une très bonne solution. Juste pour lancer une autre option, vous pouvez également utiliser un post-fusion crochet qui fonctionne simplement git submodule update [--init].

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