Have you had a look at whiskey_disk: https://github.com/flogic/whiskey_disk ?
It assumes you're using git, supports multiple stages out of the box, uses a reset strategy by default instead of having to hack it in etc.
I'm planning on playing with it today.