Using Git Submodules Effectively (philosophicalhacker.com)