Wait, is this saying that `git push` can now change your local working tree, instead of changing the remote you are pushing to? That doesn't sound like what i'd expect, but I think maybe I'm misunderstanding what it does when?
1) You're pushing to a remote server which has a checkout of the working copy as the live version of something, e.g. a webapp.
2) You're pushing to a co-workers repository to allow them to see updates (though probably a less likely scenario)