gitを使っていて、addしてcommitしてpushまでしてしまってから「しまった!」と気付いてcommitを無かったことにしたい場合があると思います。 この場合の対処方法をメモしておきます(要:gitサーバの管理権限)
まず、ローカルリポジトリの内容を取り消します。

$ git reset --hard HEAD^

--hardを用いることで、ローカルの変更内容が元に戻ります。変更内容を戻したくない場合は--softを使用しましょう。
で、この状態でgit logすると履歴が戻っているのが確認できますが、pushしようとすると

$ git push
! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'hogehoge.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

と言われてしまい、拒否されます。 このため、一旦サーバの内容を削除しちゃいます(笑)

$ git push origin :master
remote: warning: deleting the current branch To hogehoge.git - [deleted] master

もし、このコマンドに失敗する場合は、gitサーバ上の.gitconfigに次の設定を追加します。

[receive]
denyDeleteCurrent = warn

その後、再度pushします。

$ git push origin master

To hogehoge.git * [new branch] master -> master

以上です。 結構、危険なことをやってるので、慎重にやってください。