title: git remove old branches merge with --no-ff
body: <p>I'm housekeeping my repo and want to delete some old branches that are not used anymore. There are <a href="https://stackoverflow.com/questions/6127328/how-can-i-delete-all-git-branches-which-have-been-merged">plenty info</a> on how to delete those. However, I'm not sure if these solutions would be safe for me as I merged branches using <code>--no-ff</code>.</p>
  
  <hr>
  
  <p>Imagine my log looks like this:</p>
  
  <pre><code>master     *--*--*--------*--*--*--*
                 \         /     /
                  \       /     |
  feature_a        *--*--*      |  
                       \        |
                        \       /
  feature_b              *--*--*
  </code></pre>
  
  <p><strong>Question:</strong> How to remove <code>feature_a</code> and <code>feature_b</code> branches without losing neither data nor log-structure?</p>
  
  <p>Basically I want that <code>git branch</code> returns only <code>*master</code>, <em>and</em> that the log graph still looks like above (i.e. no rewriting commits of <code>feature_a</code> and <code>_b</code> onto <code>master</code>). </p>