title: What's the difference between HEAD^ and HEAD~ in Git?
body: <p>When I specify an ancestor commit object in Git, I'm confused between <code>HEAD^</code> and <code>HEAD~</code>.</p>
  
  <p>Both have a "numbered" version like <code>HEAD^3</code> and <code>HEAD~2</code>.</p>
  
  <p>They seem very similar or the same to me, but are there any differences between the tilde and the caret?</p>