本記事の内容
production環境のHerokuにdeployする内容をbranch単位ではなくcommit単位で指定する方法について
どのようなケースで使ったか
mainブランチをHerokuにデプロイしていたのですが、
そのmainブランチの内容を更新していてある時点のdeployでエラー発生。
Herokuにdeployしている内容を正常に動作している内容を戻したい、が
Herokuで正常に動作している時点で
mainブランチから別のブランチ(release_yyyymmddのようなブランチ)を切っていれば
よかったものの
mainブランチのまま突き進んでしまったという状況でした。
production環境のHerokuにdeployする内容をcommit単位で指定する
下記の手順で解決できました。
branch単位ではなくcommit単位でdeploy内容を指定することが可能です。
コミット履歴を確認し、正常に動作していた時点の内容のcommitのSHAを確認
git log
正常に動作していた時点のcommit内容に戻る
git checkout xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (正常に動作していた時点の内容のcommitのSHA)
下記コマンドで正常に動作していた時点のcommit内容をHerokuにpushします
git push heroku xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:main --force