Git deploy does not loose a single request deploy locks, preventing multiple simultaneous deploys executes migrations and flushes cache Installation Setup git server http://git-scm.com/book/en/Git-on-the-Server-Setting-Up-the-Server Put those files to newly created repos hooks chown git chmod ug+rwx,o= those files Change allowed branches in Refs::validate Update post-receive $deployPrefix (real files prefix) and $symlinkTarget (symlink) Update post-receive to restart your supervised worker etc If you want deploy to push deploy-* tags to your github repo, setup github credentials to git user and add github remote to the bare repo.