TIL — Easy Way To Pull All Git Submodules

No more hasle!

The solution below is originally from that link, posted by a user jjmontes.

For git 1.8.2 or above the option --remote was added to support updating to latest tips of remote branches:

git submodule update --recursive --remote

For git 1.7.3 or above you can use (but the below gotchas around what update does still apply):

git submodule update --recursive

or:

git pull --recurse-submodules

if you want to pull your submodules to latest commits instead of what the repo points to.

Note: If that’s the first time you checkout a repo you need to use –init first:

git submodule update --init --recursive

For older, git 1.6.1 or above you can use something similar to (modified to suit):

git submodule foreach git pull origin master

See git-submodule(1) for details