title: Why "git fetch origin branch:branch" works only on a non-current branch?
body: <p>While working on a feature branch, I use this Git command to update my "develop" branch to the latest state, immediately before merging my feature branch with the "develop":</p>
  
  <pre><code>git fetch origin develop:develop
  </code></pre>
  
  <p><strong>This works</strong>, i.e. the local "develop" points at the same commit as "origin/develop" and is in the latest state with origin.</p>
  
  <p>Somehow, though, this command fails when the "develop" branch is checked out:</p>
  
  <pre><code>fatal: Refusing to fetch into current branch refs/heads/develop of non-bare repository
  fatal: The remote end hung up unexpectedly
  </code></pre>
  
  <p>It would help me understand Git better, if I knew why it happens so.</p>