集中和分布式版本控制系统之间的比较 [英] Comparison between Centralized and Distributed Version Control Systems

查看:249
本文介绍了集中和分布式版本控制系统之间的比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用集中式与分散式版本控制系统(DVCS)有什么优点和缺点?你遇到过DVCS的任何问题,你是如何保护这些问题?



对于那些想知道DVCS工具可用的人来说,这里有一个最有名的免费/开源DVCS:




  • Git (以C编写),由 Linux内核和Ruby on Rails使用

  • Mercurial (使用Python编写)使用者 Mozilla和OpenJDK

  • Bazaar (由Python编写)由 Ubuntu开发人员

  • Darcs /stackoverflow.com/questions/77485/what-are-the-relative-strengths-and-weaknesses-of-git-mercurial-and-bazaar#77834\">我的回答到不同的质疑


    分布式版本控制系统
    (DVCSs)解决与
    不同的问题集中式VCS。比较他们是
    像比较锤子和
    螺丝刀。



    集中VCS 系统是
    设计的目的是有
    一个真正的来源是有福的,因此
    是好的。所有开发人员从该源工作
    (checkout),然后
    添加(提交)他们的更改,然后
    变得类似祝福。 CVS,
    ,Subversion,ClearCase,Perforce,
    之间的唯一的
    真正的区别VisualSourceSafe和所有其他
    CVCSes是在工作流,
    性能和集成,每个
    产品优惠。



    分布式VCS 系统是
    设计的意图是一个
    存储库与任何其他,
    一样好,并且从一个存储库合并到
    另一个只是另一种形式
    通信。任何作为
    的语义值作为
    ,信任库应该被信任
    从外部由
    进程强加,而不是软件本身。



    使用一个类型
    或另一个类型之间的真正选择是组织 - 如果
    你的项目或组织想要
    集中控制,那么DVCS是一个
    非初始。如果你的开发人员
    预期在
    国家/地区工作,没有安全的
    宽带连接到中央
    存储库,那么DVCS可能是你的
    救恩。如果你需要两者,你是
    fsck'd。



    What are the benefits and drawbacks with using Centralized versus Distributed Version Control Systems (DVCS)? Have you run into any problems in DVCS and how did you safeguard against these problems? Keep the discussion tool agnostic and flaming to minimum.

    For those wondering what DVCS tools are available, here is a list of the best known free/open source DVCSs:

    解决方案

    From my answer to a different question:

    Distributed version control systems (DVCSs) solve different problems than Centralized VCSs. Comparing them is like comparing hammers and screwdrivers.

    Centralized VCS systems are designed with the intent that there is One True Source that is Blessed, and therefore Good. All developers work (checkout) from that source, and then add (commit) their changes, which then become similarly Blessed. The only real difference between CVS, Subversion, ClearCase, Perforce, VisualSourceSafe and all the other CVCSes is in the workflow, performance, and integration that each product offers.

    Distributed VCS systems are designed with the intent that one repository is as good as any other, and that merges from one repository to another are just another form of communication. Any semantic value as to which repository should be trusted is imposed from the outside by process, not by the software itself.

    The real choice between using one type or the other is organizational -- if your project or organization wants centralized control, then a DVCS is a non-starter. If your developers are expected to work all over the country/world, without secure broadband connections to a central repository, then DVCS is probably your salvation. If you need both, you're fsck'd.

    这篇关于集中和分布式版本控制系统之间的比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆