title: Git fetch and pull operation on branches
body: <p>This might have been asked before but I can not find the answer. </p>
  
  <p>Assume following scenario. </p>
  
  <p>I have a local repository with following local branches.</p>
  
  <pre><code>Scenario 1 
  
  local
      Branch A
      Branch B
      Branch C (not reachable from A or B)
  </code></pre>
  
  <p>if I am on branch A and do a pull, do I implicitly do a fetch for B and C? Is the fetch done in pull operation different form just doing just doing fetch?</p>
  
  <p>if I do fetch on C do I fetch the HEAD for A and B?</p>
  
  <p>What about scenario two where only Branch A is checked out locally?</p>
  
  <pre><code>Scenario 2
  
  local
      Branch A
  
  Remote
      Branch A
      Branch B
      Branch C (not reachable from A or B)
  </code></pre>