Mercurial Versus Git
Before you can begin to understand the differences between Git and Mercurial, you must first understand what each actually does. Git operates in a different way from other VCS’s, which includes Perforce and Subversion. What it does is it thinks about and stores information in different ways from other systems. Git thinks about its data in ways that are unique to other VCS options. Other VCS’s use file-based systems of storage, unlike Git. Git stores its data in what can be viewed as snap shots. Every single time a user saves a file, Git takes a snap shot of that file in its current state.
Mercurial is another form of VCS, or version control system, and it plays a great role in project management. It effectively tracks and saves any changes which occur over the long haul of a project’s development. Many people love the fact that Mercurial allows you to access data much faster. As a result, you can maintain all of your data within your own drive. You can experiment with various code options, and then freely change your mind at a later date. You can use branches as a first option, allowing you to handle merges much better. Merging and branching are essential aspects to project management.
Some people opt to use Git over Mercurial for various reasons. While some people love it, others are caution against using it because of a perceived unpredictability. Nevertheless, many people switch from Mercurial to Git. The repository format of git is what draws people to use it. The way that it thinks about and stores content is considered to be a huge attribute. Every change to your file is saved in the repository as a separate file, which is handy when it comes to reviewing your work as a team. Git is considered to be one of the safest VCS options available, although others may disagree. This is due to the fact that nothing is ever actually changed, and in actuality new projects are created for review.
Tweaking commits is something that is important to any project manager, and unfortunately Mercurial makes this process difficult. Git allows you to go back and edit commits much more easily. One way to make Mercurial more efficient in this regard, is to get the extension called Mercurial Queues. This allows you to stack up commits to be re-ordered later on. You can do this before you decide to make an actual commit, and it saves you the headache of needing to go back to make unnecessary changes.
There are, of course, other factors which come into play when it comes to the merits of using Git over Mercurial, and vice versa. Rename tracking and staging are two other issues which keep people from agreeing on which of these two VCS options is the most efficient. It really comes down to personal preferences, and finding out which one of these systems can ultimately provide you with the best options.