いつも通りGit pushしようとした時、そいつは突如現れました。
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:RentoYabuki06/python-from-zero.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.
リモートのブランチの方がローカルブランチよりも先行しており、競合してしまっているとのこと。
なんのことやら、と思いましたがよくよく考えると、README.mdファイルをGithub上でいじった直後のことでした。どうやらその変更がローカルに反映されていないのがまずいらしい?
ということでgit pull
してみました。
git pull
何やらたくさんhint表示が出て、エラーではないがうまくいっていないご様子。
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
よくみてみると、レポジトリが競合しているようです。rebaseしろとのご司令なので、
git pull --rebase
そしてもう一度、
git push
無事にpushされ、Githubにも反映されました!!
Git初心者すぎて焦りましたが、次回同じエラーが表示された時のための備忘録として残しておきます。