Update Submodules with Git
Git submodules seem to confuse people and I can probably count myself in that group of people that are confused. Their code is kind of part of the codebase, kind of isn't. Pulling the latest code from the overall project doesn't pull the updated submodule code, so sometimes you get errors and don't know what's going on. To ensure your submodules are always up to date, run this via the command line:
git submodule update --init --recursive
This command ensure your existing submodules are current as well as adds new submodule code whenever appropriate. I like to run this at least once a day just to make sure my code is always up to date. You never know what some of your collaborators have contributed (if you work in a team setting), so running this daily is useful!