Is it possible to have git check the remote branch in the prepare-commit-msg hook and see if the current commit is an amend, and if so, abort the commit?
That way it makes sure that you can not amend a commit that you already pushed, which would be handy.