似乎很多人阅读了分布式版本控制并隐含地理解为什么它对开源开发是一件好事,许多分布式开发人员都是独立行动并根据自己的选择而不是管理层的命令。但是从这种印象来看,许多人认为 DVCS 仅在开源环境中有用;他们看不到它如何帮助发布专有产品但不使其版本控制系统可从外部访问的组织,或者它如何帮助单个开发人员。
如果企业选择使用分布式版本控制(如 git、darcs 或 Mercurial)而不是集中式版本控制(如 CVS 或 Subversion),它可以看到哪些好处?
最佳答案
这个论点对我来说似乎是倒退的。
鉴于集中式修订控制系统只是分布式系统的众多用例之一,应用这样的限制对公司有何好处?
我从经验中知道,当 p4 服务器变慢或中断或者您离它太远或发生其他情况时,每个使用它的人都必须停止工作。
人们喜欢将“平面”论点视为一个稻草人,但我去过那里真正重要的地方。在互操作事件或客户演示现场,我们必须现在在网络支持有限的环境中构建一些东西,所有工作都必须返回并且我想成为当我犯错误时能够恢复。
我听到的两个论点对我来说不太好:
- 不能拿走所有的代码然后运行。
- 锁定
1 号只是愚蠢。也许要获得完整的历史记录稍微难(如果我不能,反正也没有修订控制系统),但是当谈到我们在这里谈论的那种恐惧时,我可以只获取最新的修订版,这同样危险。
2 号似乎真的在尝试使用错误的工具来完成这项工作。我曾经从 RCS 用户那里得到反对 CVS 的论点,因为他们真的认为您应该每次每次 锁定每个 文件以防止两个人(我不知道)一起工作。
通信带外。如果你有大的、不可 merge 的文件,我认为谈论它们是可以的。 IMO,许多有此问题的人不想要版本控制系统,而是想要快照文件系统(zfs、9fs、Drop Box 等...)。
不过,总的来说,我不明白为什么人们甚至会问“为什么我应该给我的开发人员提供更便宜、更快、更可靠、更健壮并能提高他们生产力的工具?”各种问题。
关于git - 为什么企业要使用分布式版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/702892/