我想听听使用分布式版本控制(又称分布式版本控制,分散式版本控制)的人的意见,以及他们是如何找到它的。你在用什么,Mercurial,Darcs,Git,Bazaar?你还在用它吗?如果你过去使用过客户机/服务器rcs,你觉得它是更好,还是更差,还是只是不同?你能告诉我什么能让我随大流吗?或者跳过这件事,我也有兴趣听到有负面经历的人的意见。
我目前正在考虑替换我们当前的源代码控制系统(Subversion),这是这个问题的动力所在。
我对那些和其他国家的同事一起使用过它的人特别感兴趣,因为在其他国家,你的机器可能不是同时开机的,而且你的连接速度非常慢。
如果你不确定什么是分布式版本控制,这里有几篇文章:
Intro to Distributed Version Control
Wikipedia Entry
发布于 2008-08-25 22:16:04
我在工作中和我自己的项目中都在使用Mercurial,我真的对它很满意。我看到的优势是:
当然,像任何新系统一样,在过渡期间也有一些痛苦。您必须以与使用SVN时不同的方式考虑版本控制,但总的来说,我认为这是非常值得的。
发布于 2008-08-27 11:37:20
在我工作的地方,我们决定从SVN迁移到Bazaar (在评估了git和mercurial之后)。Bazaar很容易上手,使用简单的命令(不像git拥有的140个命令)
我们看到的优势是能够创建本地分支并在其上工作,而不会干扰主版本。也可以在没有网络访问的情况下工作,这样做的速度更快。
在bzr中,我喜欢的一个命令是shelve扩展。如果您开始在单个文件中处理两个逻辑上不同的代码片段,并且只想提交一个片段,则可以使用搁置扩展在以后搁置其他更改。在Git中,您可以在索引(登台区)中执行相同的操作,但bzr有一个更好的UI。
大多数人都不愿意移动,因为他们必须输入两个命令来提交和推送(bzr ci + bzr push)。此外,他们很难理解分支和合并的概念(没有人在svn中使用分支或合并分支)。
一旦你理解了这一点,它将提高开发人员的生产力。在每个人都明白这一点之前,每个人之间都会有不一致的行为。
发布于 2008-08-25 21:39:59
在我工作的地方,大约两个月前我们从CVS换成了Git (我的大部分经验都是使用Subversion的)。虽然熟悉分布式系统有一个学习曲线,但我发现Git在两个关键领域更优越:工作环境的灵活性和合并。
我不需要在我们的VPN上,甚至不需要有网络连接,就可以访问完整的版本控制功能。这意味着当冲动袭来时,我可以在任何地方尝试想法或执行大型重构,而不必记住检查我建立的巨大承诺,也不必担心当我弄得一团糟时无法恢复。
因为合并是在客户端执行的,所以它们比启动服务器端合并要快得多,也不容易出错。
https://stackoverflow.com/questions/26845
复制相似问题