2013-06-29 102 views
3

我是一位学习如何使用源代码管理软件的开发人员。我已阅读Subversion documentatio,我已考虑分支和标签之间的差异,但我还不清楚。我也读过这个问题:How is a tag different from a branch? Which should I use, here?和这个问题:What do "branch", "tag" and "trunk" mean in Subversion repositories?分支与标签与SVN术语中的修订

我不清楚的原因是因为版本控制软件(特别是svn)允许您返回到中继或分支中的先前“修订”。因此我没有看到标签的重点(我没有说开发者不应该使用标签 - 我只是不知道如何使用它们)。我不清楚修改意味着什么。看起来标签可以像修订版一样使用,反之亦然。

什么时候应该使用“修订”,何时应该使用“标签”?

回答

3

标签不过是一个特殊的只读分支。 (即使是只读部分也可以避开。)

您将代码发布到生产当天使用标签。你会用一个描述性的名字来标记代码。该版本的代码永远不会再被修改。它使您能够重新创建应用程序的状态,就像标签/生产日期一样。

+0

谢谢。 +1表示:“您将代码发布到产品当天使用标签”。这是有道理的。根据你的解释,我现在认为修订/分支是用于开发版本控制的,标签用于发布版本控制。这是否合理? – w0051977

+0

标签和分支在Subversion中是一样的。唯一的区别是开发人员用它做什么。 SVN不会阻止您更改标签目录中的任何内容。你甚至可以用'svn copy'创建分支和标签。但是,你认为标签通常用于在开发时释放和分支,这是对的。 – nif

+0

同意:这就是为什么我写道“甚至只读部分可以绕开。” – duffymo