我现在已经两次阅读Branching / Tagging了。我似乎无法掌握这个想法。我希望对分支有一个很好的理解,以防止错误到主线。
由于我是一名视觉学习者,任何人都可以绘制SVN分支的概念吗?或者用简单的英语来描述这些概念?
假设我有一个团队中的3个开发人员和一个repo“out_app” dev1如何创建分支并合并回主线? 这个效果将如何影响2和3?
详细说明步骤,点击的菜单项,输入的设置...以解决上述问题。
答案 0 :(得分:11)
答案 1 :(得分:8)
您可以开始阅读SVN readbook on Branching and merging
alt text http://svnbook.red-bean.com/en/1.5/images/ch04dia3.png
它基于便宜的副本:
Subversion的存储库有一个特殊的设计 复制目录时,您不必担心存储库增长巨大 - Subversion实际上并不复制任何数据。相反,它会创建一个指向现有树的新目录条目。如果您是Unix用户,这与硬链接的概念相同 随着对复制目录下的文件和目录的进一步更改,Subversion继续使用这种硬链接概念。只有在需要消除不同版本对象的歧义时,它才会复制数据。
答案 2 :(得分:1)
(在我看来)良好修订控制分支的最佳建模和解释是The Flow of Change by Laura Wingerd,这是一个关于Perforce的会议演示。它描述了豆腐规模,其中变化从“软”分支(未经测试,不稳定)流向“硬”分支(已发布,经过充分测试),因为修订变得更加稳固。
它为管理修订和分支提供了一个非常容易理解的比喻;我不能高度推荐每个人阅读此演示文稿并吸收其想法。
tofu scale http://dl.getdropbox.com/u/136976/tofu%20scale.png