title: List all local branches without a remote
body: <p>Problem: I want a way of deleting all the local branches I have that do not have a remote. It's easy enough to pipe the names of the branches into a <code>git branch -D {branch_name}</code>, but how do I get that list in the first place?</p>
  
  <p>For example:</p>
  
  <p>I create a new branch without a remote:</p>
  
  <pre><code>$ git co -b no_upstream
  </code></pre>
  
  <p>I list all my branches, and there's only one with a remote</p>
  
  <pre><code>$ git branch -a
  master
  * no_upstream
  remotes/origin/HEAD -&gt; origin/master
  remotes/origin/master
  </code></pre>
  
  <p>What command can I run to get <code>no_upstream</code> as an answer?</p>
  
  <p>I can run <code>git rev-parse --abbrev-ref --symbolic-full-name @{u}</code> and that will show that it has no remote:</p>
  
  <pre><code>$ git rev-parse --abbrev-ref --symbolic-full-name @{u}
  error: No upstream configured for branch 'no_upstream'
  error: No upstream configured for branch 'no_upstream'
  fatal: ambiguous argument '@{u}': unknown revision or path not in the working tree.
  Use '--' to separate paths from revisions, like this:
  'git &lt;command&gt; [&lt;revision&gt;...] -- [&lt;file&gt;...]'
  </code></pre>
  
  <p>But as this is an error, it won't let me use it or pipe it to other commands. I'm intending to use this as either a shell script alias'd to <code>git-delete-unbranched</code> or maybe make a super simple Gem like <code>git-branch-delete-orphans</code></p>