問題
いつも通り開発をしていて、開発中のブランチへmain (master) ブランチの変更を取り込もうとしたときの話です。
merge: origin - not something we can merge というエラーが表示されてマージできませんでした。
$ git merge origin main
merge: origin - not something we can merge
試したこと
検索して出てくるタイポ、スペルミスではありませんでした。
「マージされるブランチがリモートにあってローカルにないから起きる」という記事もありましたが、会派中のブランチもmainブランチも最新をpullしてきていたので多分問題ない気がします。
マージされる側のブランチがリモートにあり、ローカルにはなかったのでマージできなかっただけだった。 https://qiita.com/kanatano_mirai/items/1480a73ca25b87ca1bd8
解決策
結論としてはマージ元とマージ先のブランチを切り替えた上で git merge origin main
ではなく git merge main
したらうまくいきました。
$ git checkout main
Switched to branch 'main'
$ git checkout sample
Switched to branch 'sample'
$ git merge main
# successed!
余談
マージ元とマージ先のブランチを切り替えても git merge origin main
は動いてませんでした。
git merge origin main
は成功した1度しか実行していないので、もしかすると最初からorigin
を省略していれば動いた説はあります。
いつかまた再現したら確認しようと思います。
参考
https://www.binarydevelop.com/article/gitnot-something-we-can-merge-9042
https://stackoverflow.com/questions/16862933/how-to-resolve-gits-not-something-we-can-merge-error