问题描述
|
最近,我一直在为我的工作项目寻找最佳的源代码控制技术。我已经是Subversion用户已有一段时间了,但是越来越了解git。因此,我进行了检查,我非常喜欢这样一个事实,即当您无法访问服务器时,它可以使您轻松地将项目置于源代码控制下,甚至可以置于脱机状态。
但是,在多个程序员环境中(例如在工作中),中央服务器的想法仍然有其好处。
那就是我遇到Mercurial时,这对我来说似乎是两全其美的,因为您可以将项目置于源代码控制之下,如果其他人建立了Web服务器,则可以向其他人推销。也可以使用中央服务器来推拉。
结合使用诸如bitbucket.com之类的事实,您就有机会在线启动私有的免费存储库。
因此,我的想法正确吗?或者在我无法掌握的工作环境中,这些源代码控制系统有一些重要的细微之处吗?
解决方法
您缺少某些东西-git也允许您拥有中央服务器。 github提供的功能与bitbucket相同。话虽如此,我认为对于刚开始使用版本控制的人来说,Mercurial是比git更好的选择,因为它使用起来更简单,更简单,并且(至少对于新用户而言)其文档没有那么令人生畏。
另外,您没有说使用什么平台,但是当前Windows上的Mercurial用户界面在git上有明显的优势。
, 正如Neil已经提到的那样,没有什么可以阻止您拥有git的中央服务器。
以我的经验,mercury比git更容易掌握,而且入门也很容易。有人认为git更强大。不管那是真的,我让你去发现自己。
您应该考虑的是git或mercurial都没有与SVN相同类型的用户身份验证。但是,有多种方法可以解决该问题(使用SSH,HTTP等)
, 我相信可以回答您的问题。
我将Mercurial用于所有Mercurial,Git和Subversion存储库访问。我使用称为hg-git http://hg-git.github.com/的Mercurial扩展来处理git存储库;主要在github上。 Mercurial有几种使用Subverion的方法,但最终我已经转换了这些svn存储库,而无需执行任何其他操作。
就目前而言,这是伟大的。但是主要是因为dvcs非常好。如果可以,请同时使用它们(git,hg)一段时间,并尝试最好地理解它们。选择git或hg不会出错。
, 好吧,我想你应该检查一下。一些大型项目如OpenJDK,Nuxeo,NetBeans,OpenOffice,OpenSolaris,jMaps,RabbitMQ等正在使用它。
最近几年我一直在使用Bitbucket / Mercurail,对此我感到非常满意。
萨潘