title: Practical uses of git reset --soft?
body: <p>I have been working with git for just over a month. Indeed I have used reset for the first time only yesterday, but the soft reset still doesn't make much sense to me.</p>
  
  <p>I understand I can use the soft reset to edit a commit without altering the index or the working directory, as I would with <code>git commit --amend</code>. </p>
  
  <p>Are these two commands really the same (<code>reset --soft</code> vs <code>commit --amend</code>)? Any reason to use one or the other in practical terms? And more importantly, are there any other uses for <code>reset --soft</code> apart from amending a commit?</p>