首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小型项目的分布式版本控制

小型项目的分布式版本控制
EN

Software Engineering用户
提问于 2011-05-07 04:12:05
回答 5查看 775关注 0票数 6

当涉及到非常小的项目(仅几个devs)时,分布式版本控制系统(例如git)与具有中央存储库的系统相比有多高的效率?

我喜欢拥有一个中央存储库的想法,因为它看起来更优雅,更有条理。然而,在看了莱纳斯·托瓦尔兹的谷歌演讲之后,我有自己的疑虑。但是,这么小的项目真的能明显地看到所有这些好处吗?

EN

回答 5

Software Engineering用户

回答已采纳

发布于 2011-05-07 05:12:18

DVCS并不意味着您不能拥有一个中央存储库。我不知道有多少人会这样想。可能的svn工作流是可能的git工作流的子集,所以如果您想开始使用git 就像这样,没有什么可以阻止您。但是,如果您希望稍后使用分布式功能,则相反的情况并不成立。就我个人而言,我更希望有一些我可能永远不会使用的选项,而不是后来发现我想使用一个不可用的选项。

票数 14
EN

Software Engineering用户

发布于 2011-05-07 04:40:04

这在很大程度上取决于开发人员。

如果您的开发人员是分布式的(多个位置、不同的时区,可能在一段时间内断开连接(旅行等)),那么分布式版本控制系统就有很多优点。我遇到了一种不幸的情况,就是在一个集中的版本控制系统上工作,它跨越很长的距离和不同的时区,其中签入/退出和分支非常缓慢,结果是每个人都停止正确地使用版本控制。DVCS的学习曲线较高,但在分布式情况下,收益往往大于曲线。

如果你的开发人员都在同一间办公室里,用闪电般的速度连接到服务器上,那么签入/退出和分支是快速而容易的。在这种情况下,它归结为学习曲线和偏好-如果你的发展都是老手颠覆,没有太多的理由去使用DVCS。如果他们都对搬到DVCS上感到兴奋,他们就会学得足够快。

所有这些都假定:

  1. 您的开发人员了解版本控制最佳实践并遵循它们。任何特定的产品都不会使你变得更好,除非是这样(尽管DVCS倾向于推动你朝着正确的方向前进)。
  2. 你不是在选择SourceSafe。如果是这样的话,什么也救不了你。
票数 5
EN

Software Engineering用户

发布于 2011-05-07 19:49:05

我认为分布式版本控制系统的优势在任何规模上都是显而易见的。从现在开始,我将提到git,因为这是我最有经验的DVCS,而且它比DVCS更容易说和读。

我真的把集中式版本控制系统的优势看作是git优势的一个子集。如果您想要有一个带有git的中央存储库,请继续。它可以在服务器上,如果你喜欢,就像你的SVN服务器;或者它可以在一个网络驱动器,甚至一个usb棒。您可以连接到您的中央存储库提交,就像您可以使用CVS;或者,您可以在公园工作一天没有互联网连接,提交您喜欢的,然后推送到您的服务器在一天结束。我更喜欢后者。

我的开发团队很小,根据我们正在进行的项目,我们在3-5个开发人员之间变化。我们的工作环境有一些奇怪的限制,使得集中式系统难以实现。相反,我们使用Git使我们能够在我们开发的各种独立网络之间协调我们的工作。Git或任何DVCS的真正优势在于,它允许您停止考虑物理开发资源:服务器、开发人员、公园;并让您自由思考,纯粹从分支和时间的角度来思考,这是VCS空间中的真正维度。

这是我要说的,有点原创,这里有一些链接,应该证明更多的信息:

http://thinkvitamin.com/code/why-you-should-switch-from-subversion-to-git/

http://tom.preston-werner.com/2009/05/19/the-git-parable.html

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/74453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档