title: git stash exits 0 but no stash created
body: <p>I've been advised to <a href="https://stackoverflow.com/a/52540878/5353461">avoid <code>git pull --autostash</code></a>, and instead use:</p>
  
  <pre><code>git alias.pull-autostash '!git stash push &amp;&amp; git pull --rebase &amp;&amp; git stash pop'
  </code></pre>
  
  <p>When there are no changes in the index or working tree, doing:</p>
  
  <pre><code>$ git stash push
  </code></pre>
  
  <p>gives:</p>
  
  <pre><code>No local changes to save
  </code></pre>
  
  <p>An additional problem is that the exit status is <code>0</code>.</p>
  
  <p>Any <code>stash pop</code> would then <code>pop</code> something which wasn't pushed.</p>
  
  <p>How do I force an empty stash to be created, like <code>git commit --allow-empty</code>?</p>