A git deployment solution: a .bashrc 'newgit' function to automate initiating a bare repository with a relevant post-receive hook, a universal post-receive.sh script invoked by each post-receive hook which respects submodules, and guidelines for setting up different staging and production urls.