何が起こったか
ローカルの変更(masterブランチ)をcomit。
そしてHerokuにpush。
→ここでGitのリモートにpushを忘れる。
その後、ローカルで再度変更をし、commit。
そしてGitリモートにpush。
ここで、Gitリモートにpusbhした変更をherokuにpushしようと、「git push heroku masterを実行。
→以下のエラーが出る。
% git push heroku master
To https://~ 略 ~.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://~ 略 ~.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
どうしてそうなったか
herokuにpushしたcommitを、Gitリモートにpushし忘れたため、
上記のようにズレが生じた。
そのため、「前回の変更が抜けてるブランチなので・・・」とお断りされたと考える。
どう解決したか
以下を実行し、ローカルのcommit履歴を追加。
git pull heroku master
そしてGitリモートにpushした。
これで、Gitリモートに 「commitピースの欠け」がなくなり、
無事[git push heroku master」が成功!
感想
GitとHerokuの関連の理解の深めていきたいなぁと思ったエラーだった。
見えない部分で何をしてくれているか、
少しでも仕組みを理解していれば、
エラー解決も早いだろうし、
そもそもエラーを回避できるのだとうと感じた。