title: What do git checkouts really mean?
body: <p>What are <code>checkout</code>s in git? </p>
  
  <p>I know once you do <code>checkout</code> to a particular branch, the <code>HEAD</code> points to that branch. But what does it really mean? Does it mean I can then work on that branch? If yes, then, without checking out a branch, I am not able to work on it?</p>
  
  <p>Also, what does <code>remote checkout</code> mean? How is it useful?</p>