Git vs. Mercurial

Hacker News, Reddit, Stack Overflow Stats

  • 1.22K
  • 2.03K
  • 107K
  • -
  • 1.48K
  • 7.84K

GitHub Stats

No public GitHub repository stats available


What is Git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

What is Mercurial?

Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds.

Want advice about which of these to choose?Ask the StackShare community!


Why do developers choose Git?
Why do you like Git?

Why do developers choose Mercurial?
Why do you like Mercurial?


What are the cons of using Git?
Downsides of Git?

What are the cons of using Mercurial?
No Cons submitted yet for Mercurial
Downsides of Mercurial?


What companies use Git?
4650 companies on StackShare use Git
What companies use Mercurial?
42 companies on StackShare use Mercurial


What tools integrate with Git?
66 tools on StackShare integrate with Git
What tools integrate with Mercurial?
14 tools on StackShare integrate with Mercurial

What are some alternatives to Git and Mercurial?

  • SVN (Subversion) - Enterprise-class centralized version control for the masses
  • Plastic SCM - A distributed version control with strong merging, great GUIs and support for huge files
  • Git Reflow - Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master
  • Gitless - An experimental version control system built on top of Git

See all alternatives to Git

Latest News

Join us at Git Merge 2018 in Barcelona
Git workflow best practices: 5 tips to get your code...
GitBot – automating boring Git operations with CI
Related Stack Decisions
Tim Abbott
Tim Abbott
Founder at Zulip · | 3 upvotes · 1549 views

I've been excited about Git ever since it got a built-in UI. It's the perfect combination of a really solid, simple data model, which allows an experienced user to predict precisely what a Git subcommand will do, often without needing to read the documentation (see the slides linked from the attached article for details). Most important to me as the lead developer of a large open source project (Zulip) is that it makes it possible to build a really clean, clear development history that I regularly use to understand details of our code history that are critical to making correct changes.

And it performs really, really well. In 2014, I managed Dropbox's migration from Mercurial to Git. And just switching tools made just about every common operation (git status, git log, git commit etc.) 2-10x faster than with Mercurial. It makes sense if you think about it, since Git was designed to perform well with Linux, one of the largest open source projects out there, but it was still a huge productivity increase that we got basically for free.

If you're learning Git, I highly recommend reading the other sections of Zulip's Git Guide; we get a lot of positive feedback from developers on it being a useful resource even for their projects unrelated to Zulip.

See more
Head of Product at Zulip · | 2 upvotes · 594 views
SVN (Subversion)

I use Git instead of SVN (Subversion) because it allows us to scale our development team. At any given time, the Zulip open source project has hundreds of open pull requests from tens of contributors, each in various stages of the pipeline. Git's workflow makes it very easy to context switch between different feature branches.

See more

Interest Over Time