Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git, Hg or Bzr — Which to recommend to a new user? [closed]

I have some friends that are potentially interested in learning to use a version control system for our upcoming master theses (Latex document and various programming). I'm not talking about anything huge and complicated here, just to use it for backup, looking at old revisions and some basic branching and merging.

However, I think it's a good idea to choose one that's somewhat easy to learn for a beginner. So the question is, which version control system would you recommend to someone that's new to such things to learn?

Personally I've been using Git and Mercurial a bit and at the moment I think I'm leaning towards Mercurial. I haven't tried Bazaar though.

So far this is my impressions on features suitable for new users:

Mercurial

Pros:

  • Revision numbering
  • Easy to checkout an old commit, work on it and merge it in
  • Easy merging directly with a mergetool
  • Easy branching (?)
  • Nice plugins like glog

Cons:

  • Branches and bookmarks can both be used for what Git calls branching - could be a bit confusing
  • Doesn't give much information about what's done/wrong when a command is executed

Git

Pros:

  • Full control (gives the impression of it at least)
  • Detailed help and information when something goes wrong

Cons:

  • Some difficult concepts (like the staging area)
  • Some branching operations can be a bit difficult

Bazaar

Haven't tried it...

What do you think? Please follow the good subjective guidelines here when answering.

like image 387
Paul Avatar asked Jan 20 '11 23:01

Paul


3 Answers

The last few people I've taught revision control from scratch has been with git (including my daughter when she was about 12). I've also taught new users mercurial.

For someone with no revision control experience, both were equally easy. For someone broken by subversion or CVS, git was initially harder (though depending on their willingness to understand the fundamentals vs. blindly make things work, git was quite easy).

Based on that, and some of the other responses here and my own personal bias, I think git is the best answer. There are nearly two million git repositories on github alone. It's not going anywhere soon.

like image 52
Dustin Avatar answered Nov 04 '22 22:11

Dustin


What you assumed to be one of Mercurial pros - revision numbering - is considered to be a disadvantage by many people. And what you assumed to be git disadvantage - staging area; being difficult concept - is considered to be advantage by many people.

So this is not that simple.

But if you ask me - Mercurial is James Bond, as one of the bloggers called it - it's elegant and higher-level than git, at least on the surface. Plus its commands are pretty much like subversion commands, therefore new users who are svn converts might learn Mercurial much faster than git.

like image 40
Tomasz Zieliński Avatar answered Nov 04 '22 21:11

Tomasz Zieliński


I don't think your friends will notice a big difference with any of the three VCS. If it is just used as a simple backup with a small amount of branching (probably non-conflicting anyway), it doesn't matter which tool they choose. All three can do simple tasks without requiring the user to know any special stuff.

Especially if the people are completely new to version control, there is no real reason to choose one tool over the other. While all of them use slightly different concepts (with Git probably being the most special one), it is hardly something a new user will notice without experience with the other tools.

The distribution of your listed pros & cons (which are not really true btw) tells me that you have more or deeper experience with Mercurial than Git. As such I would recommend using Mercurial, because in the case where your friends need help, they can ask you, and you will be able to give them a good answer based on your own experience.

I think that is more important than the overall userbase in the Internet or on some help page (btw. the high amount of git questions could also mean that git is more confusing for many people – which probably is true to some amount).

Another factor on deciding on a tool for inexperienced users, especially when those might not really need it that much in their lives again, might be the availability of some easy graphical user interface. There might even be a good integration with their TeX editor, which would make them choose one tool over another.

like image 6
poke Avatar answered Nov 04 '22 21:11

poke