Updating
If you started your project from our remote, updating your project from git is easy.
Do the following:
cd /path/to/your/project/dir
git pull origin master
git submodule update --recursive
You will need to do this on both your local machine and any remote servers.
This will fetch the remote branch (origin/master) and merge it into your local history. Most of the time this will fast forward your branch history to the state origin/master is in. This will also update any git submodules to the correct version of those git repositories.
Common git problems
One of my directories is empty
You likely forgot to use --recursive when you originally cloned the repo or there was an issue with submodule and branch interaction.
No worries either way, just checkout the correct version of the submodules with:
git submodule update --init --recursive