title: What does the "at" @ sign/symbol/character mean in Git?
body: <p>The at-sign <code>@</code> is often used in git to <a href="https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html">specify revisions</a> in different
  ways. For example,</p>
  
  <ol>
  <li><p><code>&lt;ref&gt;@{&lt;date&gt;}</code> specifies the reference at its state on <code>&lt;date&gt;</code>.</p>
  
  <p>Example: <code>git diff master@{yesterday} master</code>.</p></li>
  <li><p><code>&lt;ref&gt;@{&lt;n&gt;}</code> specific the reference at its n<sup>th</sup> prior state.</p>
  
  <p>Example: <code>git diff master@{1} master</code>.</p></li>
  <li><p><code>@{-&lt;n&gt;}</code> specifies the n<sup>th</sup> previously checked-out branch before
  the current one.</p>
  
  <p>Example: <code>git checkout @{-5}</code>.</p></li>
  <li><p><code>&lt;ref&gt;@{upstream}</code> specifies the upstream branch for the reference.</p>
  
  <p>Example: <code>git diff master@{upstream} master</code>.</p></li>
  </ol>
  
  <p><strong>However</strong>, the <code>@</code> is being used in other ways in git commands too, like</p>
  
  <pre><code>git rebase -i @~4
  git log @^^..@
  </code></pre>
  
  <p><strong>What does the at-sign <code>@</code> mean in those examples?</strong></p>