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

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

问题描述

使用集中式与分布式版本控制系统 (DVCS) 有哪些优点和缺点?您在 DVCS 中遇到过任何问题吗?您是如何防范这些问题的?保持讨论工具的不可知性并尽量减少火爆.

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.

对于那些想知道有哪些 DVCS 工具可用的人,以下是最著名的免费/开源 DVCS 列表:

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

  • Git, (written in C) used by the Linux Kernel and Ruby on Rails.
  • Mercurial, (written in Python) used by Mozilla and OpenJDK.
  • Bazaar, (written in Python) used by Ubuntu developers.
  • Darcs, (written in Haskell).

推荐答案

来自 我的回答 不同的问题:

分布式版本控制系统(DVCS) 解决不同的问题集中式 VCS.比较它们是比如比较锤子和螺丝刀.

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

集中式 VCS 系统是设计的目的是有一个受祝福的真正源头,以及因此很好.所有开发人员工作(结帐)来自该来源,然后添加(提交)他们的更改,然后变得同样有福.唯一的CVS之间的真正区别,颠覆,ClearCase,Perforce,VisualSourceSafe 和所有其他CVCSes 在工作流程中,性能和集成,每个产品优惠.

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.

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

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.

使用一种类型之间的真正选择或者另一个是组织性的——如果您的项目或组织想要集中控制,那么 DVCS 是一个非启动器.如果您的开发人员是预计将在各地工作国家/世界,没有安全保障到中央的宽带连接存储库,那么 DVCS 可能是您的救恩.如果你需要两者,你fsck'd.

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天全站免登陆