&gt; Why is it that some people get Git naturally<p>The only people I&#x27;ve ever seen &quot;get Git naturally&quot; were developers starting from the implementation details and working their way up (#0)[0].<p><i>Everybody else</i> either worked very hard at it(#1)[1] or just rote-learned a list of commands(#2) that pretty much do what they want from which they don&#x27;t deviate lest the wrath of the Git Gods fall upon them and they have to call upon the resident (#1) or heavens forbid the resident (#0) who&#x27;ll usually start by berating them for failing to understand the git storage model.<p>&gt; Well, Git is nothing like SVN and you&#x27;ll always be missing something if you try to understand Git through SVN concepts.<p>Mercurial is also nothing like SVN, the problem is not the underlying concepts and storage model, it&#x27;s that Git&#x27;s &quot;high-level UI&quot; is a giant abstraction leak so you can&#x27;t <i>make sense</i> of Git without understanding the underlying concepts and storage model, while you can easily do so for SVN or Mercurial.<p>[0] because the porcelain sort of makes sense in the context of the plumbing aka the storage model and implementation details<p>[1] because the porcelain in isolation is an incoherent mess with garbage man pages