title: git push to branch by other name
body: <p>I base git remote myproject on remote upstream from github. Now I have branch master tracking myproject/master but want to have another branch tracking upstream/master, so I create branch upstream-master.</p>
  
  <ul>
  <li>Getting changes from upstream/master is easy, just do <em>git pull upstream</em> when on local/master</li>
  <li>It is good to have a local branch upstream-master to prepare commits to upstream/master
  
  <ul>
  <li>To copy commits from master to upstream-master: <em>git merge master</em></li>
  <li>To see pending commits on upstream-master: <em>git log @{upstream}..</em></li>
  <li>To automatically squash merge commits and such: <em>git rebase -i @{upstream}</em></li>
  </ul></li>
  </ul>
  
  <p>For some reason one cannot automatically push from local/upstream-master to upstream/master. This works:</p>
  
  <pre><code>git co upstream-master
  git push upstream HEAD:master
  </code></pre>
  
  <p>This is ineffective, upstream is not changed</p>
  
  <pre><code>git co upstream-master
  git push --set-upstream upstream HEAD:master
  </code></pre>
  
  <p>This affects local/master</p>
  
  <pre><code>git co upstream-master
  git push --set-upstream upstream master
  </code></pre>
  
  <p>Why is it not possible to configure so that <em>git push</em> wih no arguments pushes from local/upstream-master to upstream/master?</p>