Version control 集中式和分布式版本控制系统的比较
使用集中式版本控制系统(DVC)与分布式版本控制系统(DVC)的优缺点是什么?您在DVCS中是否遇到过任何问题?您是如何防范这些问题的?保持讨论工具的不可知性,并将其最小化 对于那些想知道有哪些DVCS工具可用的人,这里列出了最著名的免费/开源DVCSs:Version control 集中式和分布式版本控制系统的比较,version-control,comparison,dvcs,Version Control,Comparison,Dvcs,使用集中式版本控制系统(DVC)与分布式版本控制系统(DVC)的优缺点是什么?您在DVCS中是否遇到过任何问题?您是如何防范这些问题的?保持讨论工具的不可知性,并将其最小化 对于那些想知道有哪些DVCS工具可用的人,这里列出了最著名的免费/开源DVCSs: ,(用C编写)由用户使用 ,(用Python编写)由使用 ,(用Python编写)由使用 ,(用哈斯凯尔语写成) 主要问题(除了明显的带宽问题)是所有权问题 这是为了确保不同的(地理)站点在同一个元素上的工作方式不同于其他元素 理想情况下,
- ,(用C编写)由用户使用
- ,(用Python编写)由使用
- ,(用Python编写)由使用
- ,(用哈斯凯尔语写成)
如果你没有所有权机制。。。你会“沟通”,但往往太晚;)(即:在同一分支中对一组相同的文件进行并行开发之后。提交可能会变得混乱)对我来说,这是关于个人品味的另一个讨论,很难做到真正客观。我个人比较喜欢DVC。我喜欢使用与所用语言相同的语言编写钩子,并且网络开销更小——这只是我自己的一些原因。我感觉Mercurial(和其他DVC)比集中式的更加复杂。例如,在Mercurial中合并分支会保留分支的完整历史记录,而在SVN中,您必须转到分支目录才能查看历史记录。从到不同的: 分布式版本控制系统 (DVCSs)解决不同于 集中式VCS。比较它们是很重要的 比如比较锤子和锤子 螺丝刀 系统是 设计的意图是 一个被祝福的真正源头,和 所以很好。所有开发人员都工作 (签出)从该来源,然后 添加(提交)他们的更改,然后 变得同样幸福。唯一的 CV之间的真正区别, Subversion、ClearCase、Perforce、, VisualSourceSafe和所有其他 CVCSes在工作流程中, 性能,以及每个 产品提供 系统是 设计的意图是 存储库和其他存储库一样好, 它从一个存储库合并到另一个存储库 另一种只是另一种形式的 沟通。任何语义值作为 应该信任哪个存储库 是由外部强加的 过程,而不是软件本身 使用一种类型之间的真正选择 或者另一个是组织性的——如果 您的项目或组织需要 集中控制,则DVCS是 非初学者。如果你的开发者是 预计将在全世界工作 国家/世界,不安全 与中央计算机的宽带连接 存储库,那么DVCS可能是您的 拯救如果你两者都需要,那你就是 fsck'd
CraigTrader的回答概括了其中的大部分,然而,我发现个人工作风格也会产生巨大的差异。在我目前工作的地方,我们使用subversion作为一个真正的源代码,然而,许多开发人员在他们的个人机器上使用git svn来补偿我们遇到的工作流问题(管理失败,但那是另一回事)。无论如何。它实际上是平衡哪些功能集使您的工作效率最高,以及组织需要什么(例如,集中式身份验证) 在搜索正确的SCM时,我发现以下链接非常有用: