Git

git --amendする際の注意点

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後でも修正できないことはない。