如何在SVN中创建分支?
答案 0 :(得分:597)
使用svn copy
命令创建一个新分支,如下所示:
$ svn copy svn+ssh://host.example.com/repos/project/trunk \
svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
-m "Creating a branch of project"
答案 1 :(得分:342)
一个非常轻便高效的复制设施促进了Subversion的分支。
分支和标记实际上是相同的。只需使用svn copy
命令将存储库中的整个文件夹复制到存储库中的其他位置。
基本上这意味着按照惯例,复制文件夹意味着什么 - 无论是备份,标记,分支还是其他。根据您对事物的想法(通常取决于您过去使用过的SCM工具),您需要在存储库中设置文件夹结构以支持您的风格。
常见的样式是在您的存储库顶部有一堆名为tags
,branches
,trunk
等的文件夹 - 这样您就可以复制整个{{1 }(或子集)到trunk
和/或tags
文件夹中。如果您有多个项目,则可能需要在每个项目下复制此类结构:
这可能需要一段时间才能适应这个概念 - 但它确实有效 - 只要确保你(和你的团队)清楚你要使用的约定。拥有一个良好的命名约定也是一个好主意 - 这可以告诉你为什么分支/标签已经完成以及它是否仍然合适 - 考虑归档已经过时的分支的方法。
答案 2 :(得分:30)
如果您通过https提供回购,则可以使用此命令进行分支......
svn copy https://host.example.com/repos/project/trunk \
https://host.example.com/repos/project/branches/branch-name \
-m "Creating a branch of project"
答案 3 :(得分:25)
svn cp /trunk/ /branch/NEW_Branch
如果您在中继中进行了一些本地更改,请使用Rsync
同步更改
rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
答案 4 :(得分:14)
通常你会将它复制到svn + ssh://host.example.com/repos/project/branches/mybranch,这样你就可以在存储库中保留几个分支,但你的语法是有效的。
以下是关于how to set up your repository layout的一些建议。
答案 5 :(得分:14)
假设您要从主干名称创建分支(作为“TEST”) 然后使用:
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
答案 6 :(得分:11)
答案 7 :(得分:11)
新SVN用户的最佳提示;这可能有助于快速获取正确的URL。
运行svn info
以显示有关当前签出分支的有用信息。
URL应该(如果你在根文件夹中运行svn)给你需要复制的URL。
要切换到新创建的分支,请使用svn switch
命令:
svn switch http://my.repo.url/myrepo/branches/newBranchName
答案 8 :(得分:5)
答案 9 :(得分:0)
以下是在Windows计算机中使用TortoiseSVN从中继创建分支的步骤。显然,这需要安装TortoiseSVN客户端。