title: Can't do a checkout with multiple remotes
body: <p>I have two remotes set up in my local git repo. One is the repo of an open-source project I'm contributing to, and the other is my fork of that repo.</p>
  
  <p>It seems that I'm only able to check out stuff that I pull down from the <code>origin</code> remote. My normal method of grabbing a branch from a remote consists of</p>
  
  <pre><code>$ git fetch &lt;remote&gt; &lt;branch&gt;
  $ git checkout &lt;branch&gt;
  </code></pre>
  
  <p>But this doesn't seem to work in my current situation.</p>
  
  <pre><code>$ git fetch my-remote my-branch
  remote: Counting objects: 2297, done.
  remote: Compressing objects: 100% (1951/1951), done.
  remote: Total 2297 (delta 1044), reused 0 (delta 0), pack-reused 50
  Receiving objects: 100% (2297/2297), 2.10 MiB | 1.59 MiB/s, done.
  Resolving deltas: 100% (1045/1045), done.
  From https://github.com/me/my-repo
   * branch            my-branch -&gt; FETCH_HEAD
   * [new branch]      my-branch -&gt; origin/my-branch
  $ git checkout my-branch
  error: pathspec 'my-branch' did not match any file(s) known to git.
  </code></pre>
  
  <p>Furthermore, the branch does not appear when I do <code>git branch</code>.</p>
  
  <p>What's going on here?</p>