title: What are the differences between git branch, fork, fetch, merge, rebase and clone?
body: <p>I want to understand the difference between a branch, a fork and a clone in Git?</p>
  
  <p>Similarly, what does it mean when I do a <code>git fetch</code> as opposed to a <code>git pull</code>? </p>
  
  <p>Also, what does <code>rebase</code> mean in comparison to <code>merge</code>? </p>
  
  <p>How can I squash individual commits themselves together?</p>
  
  <p>How are they used, why are they used and what do they represent?</p>
  
  <p>How does GitHub figure in?</p>