Hacker News new | ask | show | jobs
by Ratufa 5623 days ago
Both of these are good tools --- you won't go too far wrong no matter which one you choose.

In brief:

The strength of Mercurial is that it has a fairly simple set of basic commands. These commands are easy to use and the documentation for these commands is way less daunting than those for git commands. Using Mercurial out of the box, without enabling extensions, it is harder to screw things up in a way that destroys history. At the same time, it may be harder to manipulate the contents of a Mercurial repository in ways you want. However, there are extensions for Mercurial, some third-party, some that come with the system, that let you do many of the manipulations that git provides.

Git's command set and UI are more complicated than Mercurial's. But, you don't have to learn them all at once, so just getting to a point where you can get basic stuff done isn't difficult. The strength of git is that it has fairly straightforward conceptual underpinnings, and once you start thinking of commands in terms of how they manipulate the underlying structure of your repository (see, for example, http://www.slideshare.net/chacon/getting-git for details), it's a very empowering system (or, if you're a pessimist, you've been given enough rope).

A not uncommon pattern is for people to start out with Mercurial, perhaps because the learning curve isn't as steep or because it had clearly better Windows support at one time, and then switch to git as their usage pattern requires more complicated functionality than Mercurial easily provides. An example of this is: http://lucumr.pocoo.org/2010/8/17/git-and-mercurial-branchin...