Git,Hg或Bzr - 向新用户推荐哪个?

Pau*_*aul 11 git version-control mercurial bazaar

我有一些朋友可能有兴趣学习使用版本控制系统来完成即将到来的硕士论文(Latex文档和各种编程).我不是在谈论任何大而复杂的东西,只是用它来备份,查看旧版本和一些基本的分支和合并.

但是,我认为选择一个对初学者来说有点容易学习的东西是个好主意.所以问题是,你会向那些不熟悉这些东西的人推荐哪个版本控制系统?

就个人而言,我一直在使用Git和Mercurial,目前我认为我倾向于Mercurial.我没有尝试过Bazaar.

到目前为止,这是我对适合新用户的功能的印象:

水银

优点:

  • 修订编号
  • 很容易签出旧的提交,处理它并将其合并
  • 使用mergetool直接轻松合并
  • 易分支(?)
  • 很好的插件,如glog

缺点:

  • 分支和书签都可以用于Git所谓的分支 - 可能有点令人困惑
  • 在执行命令时,不会提供有关执行/错误的信息

混帐

优点:

  • 完全控制(至少给人一种印象)
  • 出现问题时的详细帮助和信息

缺点:

  • 一些困难的概念(如临时区域)
  • 一些分支操作可能有点困难

市场

没试过......

你怎么看?在回答时请遵循这里良好主观准则.

Dus*_*tin 10

我从头开始教授修订控制的最后几个人是git(包括我12岁时的女儿).我也教过新用户mercurial.

对于没有修订控制经验的人来说,两者都同样容易.对于那些被颠覆或CVS打破的人来说,git最初更难(尽管取决于他们是否愿意理解基本面而不是盲目地让事情发挥作用,git非常容易).

基于此,以及其他一些回应以及我个人的偏见,我认为git是最好的答案.仅在github上就有近200万个git存储库.它不会很快到来.

  • 顺便说一句,你是一个很棒的父亲让你的孩子开始修改控制.我不得不为此给出一个+1.:-D (4认同)
  • Altassian的BitBucket和Canonical的Launchpad也表明Mercurial和Bazaar VCS都不会很快到达任何地方. (3认同)

Tom*_*ski 8

您认为是Mercurial专业人员之一 - 修订编号 - 被许多人认为是不利的.而你认为是git劣势 - 临时区域; 困难的概念 - 被许多人认为是有利的.

所以这不是那么简单.

但是如果你问我 - Mercurial就是詹姆斯邦德,正如其中一位博客所说的那样 - 它比git更优雅,更高级,至少表面上看.此外,它的命令与subversion命令非常相似,因此svn转换的新用户可能比git更快地学习Mercurial.

  • 修订编号是一个骗局,因为它不是真的.您不能在特定时间点引用您自己的本地存储库之外的编号.如果你要剪切和粘贴东西来讨论改变,你必须通过哈希来做,否则你最终会谈论其他事情. (4认同)

pok*_*oke 6

我不认为你的朋友会发现三个VCS中的任何一个都有很大的不同.如果它只是用作具有少量分支的简单备份(无论如何可能没有冲突),那么它们选择哪种工具并不重要.这三个都可以完成简单的任务,而无需用户知道任何特殊的东西.

特别是如果人们对版本控制完全不熟悉,那么就没有理由选择一种工具而不是另一种工具.虽然他们都使用略有不同的概念(Git可能是最特别的概念),但如果没有其他工具的经验,新用户几乎不会注意到这一点.

你列出的利弊分布(这不是真正的btw)告诉我你对Mercurial的经验比Git更多或更深.因此我建议使用Mercurial,因为在你的朋友需要帮助的情况下,他们可以问你,你可以根据自己的经验给他们一个很好的答案.

我认为这比互联网上的整体用户群或某些帮助页面更重要(顺便说一句.大量的git问题也可能意味着git对许多人来说更加混乱 - 这可能是某些数量的真实情况).

决定为没有经验的用户使用工具的另一个因素,特别是那些可能在他们的生活中并不真正需要它的人,可能是一些简单的图形用户界面的可用性.甚至可能与他们的TeX编辑器进行良好的集成,这将使他们选择一种工具而不是另一种工具.


jgr*_*tty 1

我喜欢水银。我有偏见。我也喜欢 Perforce,但它没有那么开放。