🤖

Heroku上のmasterブランチに強制push

2022/03/04に公開

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