git pushがrejectされたときの解決の手順
いまだにgitがよくわかってない。
git push すると
$ git push To git@github.com:snaka/snaka-code-pocket.git ! [rejected] master -> master (non-fast forward) error: failed to push some refs to 'git@github.com:snaka/snaka-code-pocket.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'non-fast forward' section of 'git push --help' for details.
とか言われた。
githubにおいてるファイル(readme.md)の内容をWebから修正したため競合が起きてるっぽい。
とりあえず git push --help
見て、以下のような手順で解決した。
作業用ブランチ作る
git branch temp1 git checkout temp1
作業用ブランチにpullする
git pull origin +master:temp1
作業用ブランチとmasterブランチの差分を確認する
git diff temp1 master
masterブランチに作業用ブランチの内容をマージする
git checkout master git merge temp1
以上で競合が解決できたので、無事 git push
できるようになる。
いらなくなったtemp1ブランチはあとでgcしちゃえばいいのかもしれない(たぶん)。