エラー内容

$ git push -f origin master
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To ssh:// ... .git
 ! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'ssh:// ... .git'

 

発生条件/原因/対処法

以下の様にpush取り消しをする際などに発生するエラー。

$ git reset --hard c545149

$ git push -f origin master

gitのリモートリポジトリを作成する際に --shared オプションを付与すると発生する。

 

対策としてはリモートリポジトリ側で以下の様にsoftでresetすればよい。

$ git reset --soft c545149