Time to Learn Git?

  2009-01-04


Update: Doh! Sorry for flooding everyone’s feed readers with my epic post. Evidently WordPress ignored my “more” tag. I think I ran into this problem before…

Update 2: Retracted the meaningless Google Trends point. Thanks to commenters for pointing out how meaningless it was. I still feel like git has a much stronger web presence than bzr or hg, but its just another one of the many “gut feelings” in this post. :-)

The DVCS wars have been raging for a while now, and in case you haven’t been keeping score, git is winning. Admittedly I have no proof and don’t even know if proof is possible, but I have some good evidence of git’s march toward VCS dominance:

Also note some of the major upstream projects using each DVCS:

git

Get the idea yet?

bzr

hg

<div style="clear:both;">
  &nbsp;
</div>

<p>
  <strong>Communities</strong>
</p>

<p>
  Git seems to be attracting the most diverse communities as well:
</p>

<p>
  <em>Git:</em> Linux Kernel, X.org/FreeDesktop, Ruby on Rails<br /> <em>Bazaar:</em> Ubuntu, Ubuntu, Ubuntu<br /> <em>Mercurial:</em> Pythonistas, projects that need better Windows support than Git offers
</p>

<p>
  <small>Once again I don&#8217;t really have any stats to back up these assertions, they&#8217;re just my biased observations.</small>
</p>

<p>
  <strong>Personally&#8230;</strong>
</p>

<p>
  I tried learning Git soon after it was first released and failed like so many others. Unlike many of those others, I never went back to give it another shot.
</p>

<p>
  Next I learned Bazaar and felt comfortable in it almost immediately. Now I use Bazaar as my preferred VCS and quite like it mainly because it works well and was very easy to learn. I know its not the fastest, but its so far from being a bottleneck in my development process I don&#8217;t notice.
</p>

<p>
  I learned Mercurial for work and use it at least as much as Bazaar, but I&#8217;m not sure why anyone would use it over Bazaar. I think people who learned Mercurial first think the same thing about Bazaar. 😉
</p>

<p>
  And perhaps thats part of why Git is winning. It seems fundamentally different from the other two which is probably why its the only 1 of the 3 I haven&#8217;t learned.
</p>

<p>
  <strong><em>THE FUTURE!!!!!!!11</em></strong>
</p>

<p>
  I actually don&#8217;t plan on learning git any time soon. <a href="http://michael.susens-schurter.com/blog/2008/12/27/web-server-quandary/">My time for playing with new technology is currently taken up testing nginx, spawning, and FastCGI</a>.
</p>

<p>
  I suspect thats the norm as well: people who already know a DVCS <em>probably</em> aren&#8217;t looking to migrate between them. The few that are, are probably moving to Git.
</p>

<p>
  I think we&#8217;ll see the current trend of Git&#8217;s lead widening over bzr and hg as well.
</p>

<p>
  However, <em><strong>I don&#8217;t see the war ending anytime soon. The fact of the matter is all 3 of them are great</strong></em> and the weaker DVCSes have already fallen prey to evolutionary forces (monotone, darcs, etc).
</p>

<p>
  <strong>Flamebait</strong>
</p>

<p>
  What are your thoughts on my completely contrived DVCS War? Which do you prefer? How many do you use? Are my assumptions about popularity (in particular the various communities around each) accurate?
</p>

<p>
  <small>I wish <a href="https://www.ohloh.net/">Ohloh</a> or <a href="http://cia.vc/">cia.vc</a> gave VCS usage statistics, although I&#8217;m not even sure they record that data.</small>
</p>