An interesting way of implementing this may be to flip the responsibility of 'translation'.
Here the git client includes logic to speak (translate to) ftp - which is great for this purpose.
What if you could say: `git push fleet master`
where fleet is a remote that translates git-speak into a deployment.
I realize - this is simply an imitation of Heroku. But, it may be interesting to flex git in this way: a code change protocol.
This and the recently discussed codeq could yield some very interesting possibilities.