Getting Started with Git and Mercurial

Whether your software project has one or 100 developers contributing code, tracking and storing its version history is imperative. Distributed Version Control (DVCS) is the latest stage in the evolution of Version Control, enabling faster and more agile code iterations.

This guide introduces the basic concepts of version control and compares the advantages of the two most popular DVCS solutions, Git and Mercurial.

Choosing a Distributed Version Control System

So, are you convinced of the benefits of a Distributed Version Control System? No?! Why don't you give our Distributed vs Centralized comparison another read and come back once you've seen the light.

OK, we're on the same page now. So you're sold on DVCS, what's next? Unfortunately, the choice between DVCS options is not as clear as Distributed vs Centralized.

The three most popular distributed version control systems are Mercurial, Git and Bazaar. We'll cover the strengths of Mercurial and Git here; for more information on Bazaar, check out this summary of its advantages.

Why Mercurial?

In the grand battle for DVCS supremacy, here's what Mercurial brings to the table:

  • More secure commit history
  • More GUI options
  • Easier to learn
  • Better cross-OS support

Read more about Mercurial's advantages

Why Git?

And in this corner, we have Linus Torvald's brainchild, Git:

  • Commit objects are immutable
  • Ability to view which commit the changes to a file came from
  • Version history can be retroactively edited/cleaned up
  • Ability to commit only partial changes

Read more about Git's advantages

Get started with DVCS by using these Atlassian products:

Unlimited DVCS Code Hosting

Unlimited Git and Mercurial code hosting, with free private repos.
 

Learn More

Free Git & Mercurial Client

A Mercurial and Git client for Windows or Mac with an intuitive GUI.

Learn More

Enterprise Git Management

Create and manage Git repositories behind the firewall.
 

Learn More

Continuous Integration

Build, test and deploy Git and Mercurial source.
 

Learn More