title: Difference b/w a $ git pull and $ hg pull
body: <p><a href="http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/#one-more-difference-between-mercurial-and-git" rel="noreferrer">Steve Losh: A Guide to Branching in Mercurial</a> - </p>
  
  <blockquote>
    <p>Mercurial will push/pull all branches by default, while git will push/pull only the current branch.</p>
  </blockquote>
  
  <p>I wonder if my understanding is right: </p>
  
  <p>It occurs to me that when I do a <code>git pull</code> I actually <em>do</em> <code>fetch</code> from all branches but the <code>merge</code> happens only with the current branch that I am sitting on. This is <em>very</em> close to <code>mercurial</code> where a <code>pull</code> gets me everything from the remote; but does <em>not</em> <code>merge</code> anything yet.</p>
  
  <p>In <code>mercurial</code> a <code>push</code> sends everything, but an explicit <code>update</code>is needed to merge things back. I am not quite sure on <code>git'</code> behavior of the <code>push</code> operation. </p>