当考虑git vs svn用于工作项目时,Mercurial是两个世界中最好的吗?

时间:2011-06-01 06:11:06

标签: svn git version-control mercurial

最近我一直在寻找我的工作项目的最佳源控制技术。我有一段时间以来一直是颠覆用户,但听到越来越多关于git的消息。所以我检查了一下,我非常喜欢这样一个事实:当你无法访问服务器时,它允许你轻松地将你的项目置于源代码控制之下,甚至是离线。 然而,在多个程序员环境中(例如在工作中),中央服务器的想法仍然有其好处。 那时我遇到了Mercurial,这对我来说似乎是两全其美的,因为你可以让你的项目在源代码控制下离线,如果他们建立了一个网络服务器,你可以推送给其他人,但你也可以使用一个中央服务器,用于推送和拉出.. 将此与bitbucket.com之类的东西相结合,让您有机会在线启动私人免费存储库。

我在思考中是对的,还是在我无法掌握的工作环境中对这些源控制系统有一些重要的微妙之处?

4 个答案:

答案 0 :(得分:10)

你遗失了一些东西 - git还允许你拥有一个中央服务器。 github提供与bitbucket相同的设施。话虽如此,我认为Mercurial对于从版本控制开始的人来说是一个比git更好的选择,因为它更容易使用,更简单(至少对于新用户)它的文档不那么令人生畏。

此外,您没有说明您使用的平台,但目前Windows上的Mercurial用户界面与git有明显优势。

答案 1 :(得分:3)

正如Neil已经提到的那样,没有什么可以阻止你使用git的中央服务器。

根据我的经验,mercur比git更容易掌握,而且开始很容易。有人认为git更强大。无论这是否真实,我都会留给你发现自己。

您应该考虑的是,git或mercurial都没有与SVN相同类型的用户身份验证。但是有多种方法可以解决这个问题(使用SSH,HTTP,......)

答案 2 :(得分:2)

要回答你的问题,我相信。

我使用mercurial进行所有mercurial,git和subversion存储库访问。我使用名为hg-git http://hg-git.github.com/的mercurial扩展来处理git存储库;主要在github上。 Mercurial有几种方法可以使用subverion,但最终我已经转换了这些svn repos而不需要再做任何事情。

就目前而言,只有善变才是伟大的。但大多数情况下它很棒,因为dvcs很棒。如果可以,请使用它们(git,hg)一段时间,并尝试最好地理解它们。选择git或hg就不会出错。

答案 3 :(得分:1)

好吧,我会说你应该检查一下this。它被一些非常大的项目使用,如OpenJDK,Nuxeo,NetBeans,OpenOffice,OpenSolaris,jMaps,RabbitMQ等。 我过去几年一直在使用Bitbucket / Mercurail,我对它非常满意。 萨班