我多年来一直在使用SVN分支和TRUNK,但从未使用过标签。
有人可以指导一下它们之间的主要区别吗?标记的主要目的是什么?
我多年来一直在使用SVN分支和TRUNK,但从未使用过标签。
有人可以指导一下它们之间的主要区别吗?标记的主要目的是什么?
唯一的区别就是你用它们来干什么,它们本质相同。
分支(branch)是你可以在代码的另一个版本上进行开发工作,与主干不同。
标签(tag)用于“标记”发布版本。比如我只在主干上工作。当我将 V1 发送给客户时,我会为它创建一个“V1标签”。然后我会继续开发 V2。当客户在 V1 上遇到问题时,我可以只检出标签并开始在完全相同的版本上调试问题,以便更好地服务客户。你可以提交更改到标签,但最好不要这样做。如果你需要发布 V1.1 版本,那么就从与 V1 标签相同的版本创建一个分支(branch),并将修复内容提交到该分支(branch)中,在发布 V1.1 时再打标签。
标签和分支在技术上是等价的。它们的区别在于它们通常的使用方式。
您可以使用分支来制作可编辑的代码副本,以便您同时开发稳定和工作正常的副本。
您可以使用标签来制作只读的代码副本,以便稍后方便地获取该代码。以下是每日构建中使用它的方法。每个每日构建都只是创建一个包含该构建编号的名称的标签。一旦您稍后需要获取那个很久以前的构建的源代码(例如,为了重现错误),您只需从该标签中导出它们即可。