git pushした時のエラー
$ git branch branch_name
$ git add file_name
$ git commit -m “test”
$ git push -u origin branch_name
$ git commit —amend
=> test2
$ git push -u origin branch_name
==>error
問題点
1回目のpush時にローカルの状態がリモートに反映された。
—amendコマンドでcommitメッセージを書き換えた際に
commit自体のidも新しいものに書き換わり、
1回目のcommitとは全くの別物になった。
=>git log
コマンドでcommitの履歴を見ると番号が違うことが確認できると思います。
なので2回目のcommitpush時に1回目の整合性が取れずにエラーが起きてしまった。
解決方法
amendした後のpushに-fオプションを付けて強制的に上書きする。
$ git push -u -f origin branch_name
結論
—amendはpushする前にするのが無難だが、
push後でも修正できないことはない。