title: How can I push a local Git branch to a remote with a different name easily?
body: <p>I've been wondering if there's an easy way to push and pull a local branch with a remote branch with a different name without always specifying both names.</p>
  
  <p>For example:</p>
  
  <pre><code>$ git clone myrepo.git
  $ git checkout -b newb
  $ ...
  $ git commit -m "Some change"
  $ git push origin newb:remote_branch_name
  </code></pre>
  
  <p>Now if someone updates remote_branch_name, I can:</p>
  
  <pre><code>$ git pull
  </code></pre>
  
  <p>And everything is merged / fast-forwarded. However, if I make changes in my local "newb", I can't:</p>
  
  <pre><code>$ git push
  </code></pre>
  
  <p>Instead, I have to:</p>
  
  <pre><code>% git push origin newb:remote_branch_name
  </code></pre>
  
  <p>Seems a little silly. If <code>git-pull</code> uses <code>git-config branch.newb.merge</code> to determine where to pull from, why couldn't <code>git-push</code> have a similar config option? Is there a nice shortcut for this or should I just continue the long way?</p>