結論:yarn.lockとpackge.lock.jsonのコンフリクトが原因。
以下デプロイできるまでの過程です。
1.creste-react-appでアプリを作成。
2.アプリをHerokuにデプロイ。git push heroku master実行も下記文言と共にエラー。
[rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://git.heroku.com/*****.git'
Gitのmasterとローカルレポジトリにあるブランチの内容に不一致の場合に発生するエラーとのこと。
3.Gitでmargeをしてから再度push。また同一の文言でエラー。
masterブランチでのみの作業だったのでmargeが原因ではなさそう。
4.Herokuのマイページにログインしてログを確認する。
これは結構大切だと思いました。エラーの原因もここでわかりました。
Two different lockfiles found: package-lock.json and yarn.lock
Both npm and yarn have created lockfiles for this application,
but only one can be used to install dependencies. Installing
dependencies using the wrong package manager can result in missing
packages or subtle bugs in production.
5.yarn.lockとpackage.lock.jsonのどちらかを削除する。
私の場合はyarnを消しました。
どちらの方が良いかは他の方の記事を参考にしてみてください。
今回はHerokuでしたが他のサーバでもエラーになるんでしょうね。