gitpushがrejectされた場合

背景

リモートへpushしたときに以下エラー
リモートでreadmeファイルを作成した状態でローカルをpushしてしまったことが原因だと考えられる。

Note about fast-forwards
mainブランチのリモートとローカルの最新情報が異なっているので、通常のpushが行えず、rejectが表示されてエラーになる。

解決方法

$ git pull origin master  リモートの情報をローカルに持ってくる(自動的にマージも行われる)

pullしたが以下エラーが起きたので

error: You have not concluded your merge (MERGE_HEAD exists).
hint: Please, commit your changes before merging.
fatal: Exiting because of unfinished merge.

翻訳:
エラー: マージが完了していません (MERGE_HEAD が存在します)。
ヒント: マージする前に変更をコミットしてください。
致命的: マージが完了していないため終了します。

mergeをリセットする

$ git reset --merge

もう一度実行すると、リモートで作ったreadmeファイルがローカルへマージされる。

$ git pull origin main
From https://github.com/meo2718/crud_app_java
 * branch            main       -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 README.md | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 README.md

pushする

$ git push
Enumerating objects: 83, done.
Counting objects: 100% (59/59), done.
Delta compression using up to 8 threads
Compressing objects: 100% (26/26), done.
Writing objects: 100% (33/33), 8.33 KiB | 609.00 KiB/s, done.
Total 33 (delta 16), reused 0 (delta 0)
remote: Resolving deltas: 100% (16/16), completed with 13 local objects.
remote: warning: See http://git.io/iEPt8g for more information.
remote: warning: File volumes/db/data/ibdata1 is 76.00 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
To https://github.com/meo2718/crud_app_java.git
   ef401a6..95e7d2a  main -> main