title: What's the difference between `git reset --hard master` and `git reset --hard origin/master`?
body: <p>I tried a lot of links on Stackoverflow/elsewhere to properly understand behaviour of </p>
  
  <p><code>git reset --hard option</code></p>
  
  <p>I know that:</p>
  
  <ul>
  <li>If it is omitted or if it is <code>origin</code>, reset is done on most recent commit on <code>origin</code></li>
  <li>If a SHA1 hash is provided, reset is done on the corresponding commit.</li>
  </ul>
  
  <p>What I don't understand are the following values:</p>
  
  <ol>
  <li><code>origin</code></li>
  <li><code>HEAD</code></li>
  <li><code>origin/master</code></li>
  <li><code>origin/branch</code></li>
  </ol>
  
  <p>All seem to have same behavior i.e. they a  point to latest commit on <code>master</code>.</p>
  
  <p>Please explain what is the significance of all 4 value option provided above.</p>
  
  <p>I would also like to know if I am on a specific branch how can I reset to the last commit on that very branch? 
  If for example I am on <code>v1.2</code>, <code>origin/v1.2</code> still takes me to latest commit on <code>master</code>.</p>