Help us understand the problem. What is going on with this article?

gitでどうしてもリモートのブランチがcheckoutできないとき

fetchしていないとかそういう話ではない。

>git checkout [ブランチ名]
error: pathspec '[ブランチ名]' did not match any file(s) known to git.

かなり古いディレクトリ(サイズが大きいので再cloneしたくなかった)の上に色々弄ったので条件が確かでないが、恐らく下の操作で解決した。

> git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
> git fetch origin
> git checkout [ブランチ名]

参考:https://stackoverflow.com/questions/35235232/check-out-a-branch-that-exists-in-a-remote

追記

single-branchでcloneした(shallow cloneの場合などデフォルトでそうなっている)リポジトリだとremote.origin.fetchにそのブランチしか設定されず、この様にfetchしても虚無という事になるようだ。

hasht
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away