title: git: why can't I delete my branch after a squash merge?
body: <p>I have a git repo with <code>mainline</code> (equivalent to <code>master</code>) and some local feature branches.  For example:</p>
  
  <pre><code>$ git branch
  * mainline
    feature1
    feature2
    feature3
  </code></pre>
  
  <p>When I do the following, I am able to squash merge all of my edits in a feature branch into one commit to <code>mainline</code>:</p>
  
  <pre><code>$ git checkout mainline
  $ git pull
  $ git checkout feature1
  $ git rebase mainline
  $ git checkout mainline
  $ git merge --squash feature1
  $ git commit
  $ git push
  </code></pre>
  
  <p>My question is, at this point, when I try to delete the <code>feature1</code> branch, it tells me it is not fully merged:</p>
  
  <pre><code>$ git branch -d feature1
  error: The branch 'feature1' is not fully merged.
  If you are sure you want to delete it, run 'git branch -D feature1'.
  </code></pre>
  
  <p>What causes this error? I thought <code>git merge --squash feature1</code> merged <code>feature1</code> into <code>mainline</code>.</p>