“error: failed to push some refs to…”といったpushの失敗原因

 ! [rejected]        HEAD -> sample (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx/sample.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.

大体の原因はリモートブランチとローカルブランチに差分があると"non-fast-forwardgit"と拒否されるそうです。なので対象のリモートブランチをpullしてから再度pushすると解決します。

#例
git pull origin "Branch_Name"

#mainブランチの場合
git pull origin main

基本的には上記のようにpullしてあげると現在の変更点とリモート側の内容を差分確認できます。

リモートブランチ名の確認はgit branch -rで確認できます。実行するとorigin/mainといった感じに一覧表示されますがgit pull origin/mainとしないように。

またpull以外でmergeでもできます。その場合は下記のように実行します。

git merge origin/main

現在の変更内容を取り込みたい場合やリモートブランチの内容を取り込みたい場合があるかと思います。その場合は上部にボタンがあるので選択することで内容を取り込むことができます。

上記のどれかを取り込んでから再度pushすると問題なくpushできました。

参考文献