title: git-flow: How to prevent some changes made at release branch from merging back to development
body: <p>The question is about some edge case of <a href="http://nvie.com/posts/a-successful-git-branching-model/">git-flow</a> methodology</p>
  
  <p>I have some kind of typical git-flow history like this:</p>
  
  <pre><code>      o---o---o---o [release-3.5.0]
       /
  ----o---o---o---o---o [development]
  </code></pre>
  
  <p>Git-flow told us to merge <strong>release-3.5.0</strong> branch into <strong>development</strong> then release is ready. So, eventually we'll get <strong>ALL</strong> changes, made at release branch into development branch.</p>
  
  <pre><code>      o---o---o---o 
       /             \
  ----o---o---o---o---o [development]
  </code></pre>
  
  <p>Now imagine, we have a commit 'X' on release branch what we <strong>DO NOT</strong> want at development branch, for example it is some kind of hack/hotfix or else which is already fixed in development in more sane way (i.e. by commit Y)</p>
  
  <pre><code>      o---X---o---o [release-3.5.0]
       /
  ----o---o---o---Y---o [development]
  </code></pre>
  
  <p>So, the main question is how to deal with such situations? How to prevent this commit (or commits) from getting back into development?</p>