🤖
Heroku上のmasterブランチに強制push
Heroku上のコードが古くてpushできない!?
GitHub上のリポジトリでソース管理しており、ある程度実装できたからHerokuにデプロイしようとしました。ところが、pushが拒否られてしまいました。
そんな時に使ったコマンドを備忘録として記載します。
問題
git push heroku master
To https://git.heroku.com/xxxxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://git.heroku.com/xxxxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
ローカルのmasterは、Herokuのmasterよりも遅れているため、pushが拒否られています。
'遅れているmasterブランチをgit pullしてから'、、、みたいなことが書かれていました。
結論
git push heroku master --force
Heroku上のリモートリポジトリのmasterブランチへ強制的にローカルリポジトリのmasterブランチをぶち込むコマンドです。
反省
Gitの管理がずさんだったために、このような事態となりました。
個人開発で、さらには趣味程度のアプリなので、特段、何が起きても問題はないです。
ただ、実際に本番稼働中のアプリでユーザーもいるようなものであれば、あまり強制上書きとかしたくないですね。
チーム開発であれば、なおさら最悪です。
これは反省でした。
Discussion