問題
VSCodeでgitを使っているときにnon-fast-forward
時の対処法を試してもエラーが消えない
エラー
error
$git push origin main
>>>
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:**/**.git'
non-fast-forward
はリモートとローカルの最新情報が異なっているときに生じるエラー
リモートの情報をローカルに持ってくる(自動的にマージも行われる)ので
状態が一致してpushできるようになる(はず...!)
$ git pull origin master
>>>
fatal: Need to specify how to reconcile divergent branches.
解決策
エラー文にある通り pull
によってとってきた情報とローカルとの差分がある時にその差分をどう扱えばいいのかを指定してあげる必要がある.
詳しくはドキュメントを参考にしてください.
参考に倣って暗黙的な変更を把握できないのは怖いのでここではfalse
と設定する
$ git config pull.rebase false
最後に
pullの時の挙動を指定することができたのでpush
を行うことができるようになった
参考