title: You asked me to pull without telling me which branch you want to merge with
body: <p>TL;DR: I have a "tracked" branch that I can't pull.</p>
  
  <p>So here I am in "bucket-4":</p>
  
  <pre><code>$ git branch -v
    bucket-1       410f7b5 * gh-53 * gh-48 * "Share App"
    bucket-2       7ed70a2 * upgrade to SOLR 3.3.0
    bucket-3       400ffe4 * emergency fix prod issue
  * bucket-4       64c2414 Merge branch 'bucket-3' into bucket-4
    master         8dc4854 [ahead 1] * gh-73
  </code></pre>
  
  <p>I'd like to pull in changes from my remote:</p>
  
  <pre><code>$ git pull
  
  You asked me to pull without telling me which branch you
  want to merge with, and 'branch.bucket-4.merge' in
  your configuration file does not tell me, either. Please
  specify which branch you want to use on the command line and
  try again (e.g. 'git pull &lt;repository&gt; &lt;refspec&gt;').
  See git-pull(1) for details.
  
  If you often merge with the same branch, you may want to
  use something like the following in your configuration file:
  
      [branch "bucket-4"]
      remote = &lt;nickname&gt;
      merge = &lt;remote-ref&gt;
  
      [remote "&lt;nickname&gt;"]
      url = &lt;url&gt;
      fetch = &lt;refspec&gt;
  
  See git-config(1) for details.
  </code></pre>
  
  <p>Hmm, odd, I thought I already added "bucket-4" as a tracking branch. Let's see:</p>
  
  <pre><code>$ git remote show origin
  * remote origin
    Fetch URL: git@github.com:abcd/main.git
    Push  URL: git@github.com:abcd/main.git
    HEAD branch (remote HEAD is ambiguous, may be one of the following):
      bucket-3
      master
    Remote branches:
      bucket-1       tracked
      bucket-2       tracked
      bucket-3       tracked
      bucket-4       tracked
      master         tracked
    Local branches configured for 'git pull':
      bucket-1       merges with remote bucket-1
      bucket-2       merges with remote bucket-2
      bucket-3       merges with remote bucket-3
      master         merges with remote master
    Local refs configured for 'git push':
      bucket-1       pushes to bucket-1       (up to date)
      bucket-2       pushes to bucket-2       (up to date)
      bucket-3       pushes to bucket-3       (up to date)
      bucket-4       pushes to bucket-4       (local out of date)
      master         pushes to master         (fast-forwardable)
  </code></pre>
  
  <p>Indeed, bucket-4 is marked as "tracked", yet somehow it's configured for push, but not pull. </p>
  
  <p>Looking at my <code>.git/config</code> file, I see that I have "remote" and "merge" entries for most of my branches, but not for bucket-4. How is it even considered "tracked" without this?</p>
  
  <pre><code>[remote "origin"]
      url = git@github.com:abcd/main.git
      fetch = +refs/heads/*:refs/remotes/origin/*
  [branch "master"]
      remote = origin
      merge = refs/heads/master
  [branch "rel-2011-07-07"]
      remote = origin
      merge = refs/heads/rel-2011-07-07
  [branch "bucket-1"]
      remote = origin
      merge = refs/heads/bucket-1
  [branch "bucket-2"]
      remote = origin
      merge = refs/heads/bucket-2
  [branch]
      autosetupmerge = true
  [branch "bucket-3"]
      remote = origin
      merge = refs/heads/bucket-3
  </code></pre>
  
  <p>I see that the likely solution here is to add <code>remote/merge</code> entries for bucket-4 in my config file. But how is it considered "tracked" without this? bucket-4 was created locally, then pushed to the server from this repo, so I suspect that somehow I didn't set up tracking properly for this branch.</p>
  
  <p>Is there some configuration I can add in order to make all local branches track their remotes properly in the future? </p>