初投稿です
これは何
自作したブランチで作業していて、mainブランチの最新を取り込むときに躓いたので、備忘録です。
事象1
mainブランチをcheckoutしたかった。
git checkout main
以下エラーが発生した。
error: pathspec 'main' did not match any file(s) known to git
調べたところ、ローカルにmainブランチが存在しないのが原因らしい。
強制的にfetchする。
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
事象2
事象1でfetchまで完了したあと、再度checkoutしたところ別なエラーが発生した。
Please commit your changes or stash them before you switch branches.
これは、ローカルの資材にcommitしていない変更があるエラーらしい。
解決するには2パターンある。
1. ローカルの変更を一時退避する場合
git stash
2. ローカルの変更を取り消す場合
git checkout .
上記どちらか実行後に、漸くcheckoutに成功!
その後の手順
ローカル上のmainブランチを最新化する。
git pull origin main
作業ブランチに切り替える。
git checkout 作業ブランチ名
mainブランチと作業ブランチをマージし、mainの最新情報を取り込む
git merge main
地道にGitと仲良くなれればと思います(´・ω・`)
参考サイト