I read a post recently by Sean Coates about deploy on push. The concept is nothing new: you set up a hook that listens for commits on specific branches or tags, and it then deploys your site from that revision.
Except I'd not done it myself. This is how I got there.
I've been playing around with Git in the past couple months, and have been really enjoying it. Paired with subversion, I get the best of all worlds -- distributed source control when I want it (working on new features or trying out performance tuning), and non-distributed source control for my public commits.
Github suggests that when working with remote repositories, you turn on the autocrlf option, which ensures that changes in line endings do not get accounted for when pushing to and pulling from the remote repo. However, when working with git-svn, this actually causes issues. After turning this option on, I started getting the error "Delta source ended unexpectedly" from git-svn. After a bunch of aimless tinkering, I finally asked myself the questions, "When did this start happening?" and, "Have I changed anything with Git lately?" Once I'd backed out the config change, all started working again.
In summary: don't use "git config --global core.autocrlf true" when using git-svn.