title: How to remove unreferenced blobs from my Git repository
body: <p>I have a GitHub repository that had two branches - <em>master</em> and <em>release</em>.</p>
  <p>The <em>release</em> branch contained binary distribution files that were contributing to a very large repository size (more than 250 MB), so I decided to clean things up.</p>
  <p>First I deleted the remote release branch, via <code>git push origin :release</code>.</p>
  <p>Then I deleted the local <em>release</em> branch. First I tried <code>git branch -d release</code>, but Git said <em>&quot;error: The branch 'release' is not an ancestor of your current HEAD.&quot;</em> which is true, so then I did <code>git branch -D release</code> to force it to be deleted.</p>
  <p>But my repository size, both locally and on GitHub, was still huge. So then I ran through the usual list of Git commands, like <code>git gc --prune=today --aggressive</code>, without any luck.</p>
  <p>By following Charles Bailey's instructions at <a href="https://stackoverflow.com/questions/1029969/why-is-my-git-repository-so-big/1036595#1036595">SO 1029969</a> I was able to get a list of SHA-1 hashes for the biggest blobs. I then used the script from <a href="https://stackoverflow.com/questions/460331/git-finding-a-filename-from-a-sha1/460417#460417">SO 460331</a> to find the blobs...and the five biggest don't exist, though smaller blobs are found, so I know the script is working.</p>
  <p>I think these blogs are the binaries from the release branch, and they somehow got left around after the delete of that branch. What's the right way to get rid of them?</p>