For those fighting with this and similar frameworks, you might consider simplifying with post-commit/recieve hooks, which is how I deploy some websites.
So, git hooks are basically executable scripts (of whatever language you have available, I use bash) placed in the .git/hooks dir, whcih are then executed at whichever event is designated (by the name of the script itself) For me, it's post-recieve. After initial setup, a push automatically triggers the post-recieve hook that does something like the following from my git dir:
GIT_WORK_TREE=..../example.com git checkout -f
and voila, pushes are insta-live, but commits can be pulled and worked on in the meantime.
Learned from a few sources (shout out to Dreamhost for my original intro to this idea), but here are some relevant readings: