はじめに
チームで開発をしていると、
現在自分が作業をしているブランチから別のブランチに移動する、
だなんてことがよく起こります。
ブランチの移動の際は
git checkout 移動先のブランチ
こういったコマンドでチェックアウトをするかと思われます。
困ったこと、その原因...
しかし、
error: pathspec '~' did not match any file(s) known to git
このようなメッセージがコンソールに出て、チェックアウトできないことがありました。
今回、このメッセージが出現したケースは以下の通りです。
- チームメンバーから依頼され、別のブランチにチェックアウトする必要があった
-
git checkout 移動先のブランチ
をしたが、上記のメッセージが出た - 上記コマンドのtypoはなかった
-
移動先のブランチ
はリモートにはあるが、自分の手元(ローカル)にはなかった
この
「移動先のブランチ
はリモートにはあるが、自分の手元(ローカル)にはなかった」
ここがポイントでした。
手元にないのですから、上記のメッセージが出るのも頷けますね...💦
解決策
ということは、
リモートにしかない移動先のブランチがローカルにも存在していれば良さそうですね。
そこで、
git fetch
このコマンドを使い、
リモートの内容をローカルにある「リモート追跡ブランチ」と同期させてあげましょう。
こうすることで、
手元になかった移動先のブランチにチェックアウト出来るようになります。
参考