在Subversion存储库中,“分支”、“标记”和“主干”意味着什么?

在Subversion存储库中,“分支”、“标记”和“主干”意味着什么?

我在Subversion(我猜是一般存储库)的讨论中见过很多这些词。在过去的几年里,我一直在为我的项目使用SVN,但我从未掌握过这些目录的完整概念。

他们是什么意思?


慕桂英3389331
浏览 434回答 3
3回答

杨魅力

总体而言(与工具无关的视图),分支是用于并行开发的机制。SCM可以有从0到n个分支。Subversion有0。树干是一个主要的分支推荐被颠覆,但你并没有被迫去创造它。你可以称它为‘主’或‘释放’,或根本没有一个!支部表示开发工作。它不应以资源(如‘vonc_支’)命名,而应以下列名称命名:目的‘myProject_dev’或‘myProject_Merge’一个释放边界‘myProjetc1.0_dev’或myProject2.3_Merge‘或’myProject 6.2_Patch 1‘.标签是文件的快照,以便轻松返回到该状态。问题是在Subversion中标记和分支是相同的。..我肯定会推荐偏执的方法:您可以使用Subversion提供的访问控制脚本之一来阻止任何人在标记区域创建新副本以外的任何操作。标签是最终的。其内容不应改变。绝不可能。永远不会。你在新闻稿里忘了一行?创建一个新标签。过时或移除旧的。现在,我读了很多关于“在这样和那样的分支中合并回来,然后最后在主干分支中合并”的文章。这就是所谓的合并工作流还有这里没有强制规定..不是因为你有一根主干树枝必须合并回去什么都行。按照约定,主干分支可以表示开发的当前状态,但对于一个简单的顺序项目,该项目具有:没有“预先”开发(用于准备下一个版本,这意味着这些更改与当前的“主干”开发不兼容)没有大规模重构(用于测试新的技术选择)不对以前的版本进行长期维护。因为有了这些场景中的一个(或全部),您就可以得到四个“主干”、四个“当前开发”,而在这些并行开发中所做的并非全部都必须合并回“主干”中。
打开App,查看更多内容
随时随地看视频慕课网APP