title: git flow feature finish doesn't push if origin/develop out of sync
body: <p>I just noticed that if we have local and <code>origin/develop</code> looking like</p>
  
  <pre><code>local:          A---B
  origin/develop: A---B
  </code></pre>
  
  <p>If I then do <code>git flow feature start Z</code> and work for a while I might end up with:</p>
  
  <pre><code>local:          A---B
  origin/develop: A---B---C---D
  </code></pre>
  
  <p>I now do <code>git flow feature finish Z</code> and I get a warning about:</p>
  
  <blockquote>
    <p>Branches 'develop' and 'origin/develop' have diverged.<br/>
    And local branch 'develop' is ahead of 'origin/develop'</p>
  </blockquote>
  
  <p>I now have (no push):</p>
  
  <pre><code>local:          A---B---Z
  origin/develop: A---B---C---D---E
  </code></pre>
  
  <p>I try to do <code>git pull</code> and down comes a bunch of updates that git merges into <code>develop</code>, so I end up with:</p>
  
  <pre><code>local:          A---B---Z-----------Z'
                       \--C---D---E--/
  origin/develop: A---B---C---D---E
  </code></pre>
  
  <p>If I do a <code>git push origin/develop</code> I'm going to muck up our nice neat single <code>develop</code> stream, so after some googling I ended up doing:</p>
  
  <pre><code>git pull --rebase --prune
  git push origin develop
  </code></pre>
  
  <p>This restored me to:</p>
  
  <pre><code>local:          A---B---C---D---E---Z
  origin/develop: A---B---C---D---E---Z
  </code></pre>
  
  <p>Doing this I actually discovered that a previous feature had also failed because of the same problem... I thought we used <code>git flow</code> to hide all these common niggles and pitfalls.</p>
  
  <p>So, am I using <code>git flow</code> wrongly? Is there some extra command one should always do before <code>feature finish</code> to ensure you don't get out of sync?</p>