对不起,我是SVN的新手,我为此寻找了一下。你如何标记SVN中的主要版本,有点像设置还原点。现在我只是设置我的服务器并添加了我的所有文件 - 我一直在间歇性地进行不同的更改。当我有一个处于稳定状态的东西时,有没有办法对此进行标记,以便在必要时我可以轻松恢复它?
答案 0 :(得分:16)
答案 1 :(得分:11)
典型的方法是在存储库的根目录中创建一个“tag”目录,并将整个主干复制到该目录。 (在Subversion中复制很便宜,因为它只是添加对现有文件的特定修订的引用。)
所以你可能会说:
svn cp http://svn.example.com/trunk/ http://svn.example.com/tags/major-revision-01/
有关详细信息,请参阅the Subversion book,尤其是tags章。
答案 2 :(得分:3)
我们所做的就是创建一个分支。我们有标准的根级目录:trunk,tags,release,branches。
要记住的主要事情是所有分支都像创建副本一样,并且主干的所有分支就像创建副本一样(除了它是浅拷贝,只复制增量)。
对我们来说,所有开发都是在主干中完成的。如果有人正在进行重大的返工,那么往往会把它放在分支机构中。主要版本放入版本中,我们要标记的所有其他标签和项目都放在标签文件夹中。
对于我们的版本,我们有以下目录结构:
repository
+--trunk
+--releases
+--v1.0
+--v1.1
+--v1.4
+--v2.0
+--branches
+--tags
答案 3 :(得分:2)
答案 4 :(得分:1)
如果您使用的是svn标准结构,则应该有分支,标签和trunk文件夹。
您要做的是将当前主干的副本复制到标签中的文件夹中。
示例命令行:
svn copy mysvnurl / myproject / trunk mysvnurl / myproject / tags / majorrelease_01
答案 5 :(得分:0)
尝试阅读此页svn copy。基本上你只需要做一个svn副本
答案 6 :(得分:0)
在CVS中,这被称为“标签”。 SVN不为标签使用单独的机制,它只是创建一个分支。所以只需创建一个新的分支,并给它一个描述性的名称,如“release-1.2”。
或者,懒惰的方法是在文本文件中记下当前的存储库修订号;)
答案 7 :(得分:0)
这是另一个有用的想法。使用CruiseControl(或CruiseControl.NET)以固定间隔(即每晚或每15分钟)自动标记