远程工作时,我们的团队只能通过远程桌面访问我们的办公室PC中的源代码,因此我们永远不会真正在离线模式下工作.像Mercurial或Git这样的分布式版本控制系统是否仍然优于我们当前的集中式Subversion设置?如果是这样,他们是什么?有任何缺点或陷阱吗?我已经在许多地方看到,转向分布式版本控制需要改变思维.有人可以解释在这方面需要改变什么吗?
我推荐HgInit作为对 svn 如何通过去中心化工具集进行改进的非常彻底的解释。它还将帮助您理解概念差异。
我想强调的重大改进之一是合并跟踪的概念。Subversion 直到 1.5 版本才具备此功能,而且由于它处理修订和分支的方式不同,它可能永远不会像分散式工具那样好。没有人喜欢合并。不妨尽可能减少这种痛苦。另请参阅:为什么在 Mercurial 中分支和合并比在 Subversion 中更容易?。
对我来说,从 subversion 切换过来时,思维上最大的变化是克服了历史是严格线性的、分支只不过是将代码复制到另一个目录的想法。请注意,在 Git 和 Mercurial 中,您不会签出存储库的子目录。您不会看到“git checkout http://github.com/project/branches/v2.0 ”或任何内容。Eric Sink 对历史存储方式的差异做了很好的解释。我建议看一下。
| 归档时间: |
|
| 查看次数: |
3161 次 |
| 最近记录: |