title: Recover deleted branches after 'git push --mirror'
body: <p>My organization has a remote repository on GitHub that's a fork off of another. I've made a clone on my local machine as well as created a local branch, 'test'. The following is a list of commands that followed:</p>
  
  <pre><code>git fetch origin '+refs/heads/*:refs/remotes/origin/*'
  git push --mirror
  git push --all
  </code></pre>
  
  <p>What followed next was nothing short of a nightmare. Any branch on the remote that wasn't checked out on my local machine was deleted on the repository. I've done <code>git branch -a</code> but that only shows, for the remote, branches that had existed on my local copy. I've done <code>git reflog show</code> but that only shows logs on the current branch <code>HEAD</code>. Doing <code>git fsck</code> shows 6 'dangling commits' and 2 'dangling blobs'. Prior to doing <code>git push --mirror</code> the branch had 16 branches, 5 of which were created by our organization and the rest were from the original fork. I understand that similar, if not the same, questions have been asked before but at this point none of them are making sense. My utmost respect and highest gratitude to anyone who can prevent me from getting fired.</p>