我如何创建分支?

时间:2008-08-05 09:25:29

标签: svn version-control branch branching-and-merging

如何在SVN中创建分支?

10 个答案:

答案 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工具),您需要在存储库中设置文件夹结构以支持您的风格。

常见的样式是在您的存储库顶部有一堆名为tagsbranchestrunk等的文件夹 - 这样您就可以复制整个{{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)

假设您要从主干名称创建分支(作为“TEST”) 然后使用:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST

答案 5 :(得分:14)

通常你会将它复制到svn + ssh://host.example.com/repos/project/branches/mybranch,这样你就可以在存储库中保留几个分支,但你的语法是有效的。

以下是关于how to set up your repository layout的一些建议。

答案 6 :(得分:11)

新SVN用户的最佳提示;这可能有助于快速获取正确的URL。

运行svn info以显示有关当前签出分支的有用信息。

URL应该(如果你在根文件夹中运行svn)给你需要复制的URL。

要切换到新创建的分支,请使用svn switch命令:

svn switch http://my.repo.url/myrepo/branches/newBranchName

答案 7 :(得分:11)

如果你打算合并你的分支,我强烈建议你看看这个:

Svnmerge.py

我听说Subversion 1.5构建了更多的合并跟踪,我没有经验。我的项目是在1.4.x上,svnmerge.py是救生员!

答案 8 :(得分:5)

  • 在当前项目之外创建一个新文件夹。你可以给它任何名字。 (例如:你有一个名为“Customization”的项目的结帐。它有很多项目,比如“Project1”,“Project2”....你想要创建一个“Project1”的分支。所以首先打开“ “自定义”,右键单击并创建一个新文件夹并为其命名,“Project1Branch”)。
  • 右键点击“Myproject1”.... TortoiseSVN - >分支/标签
  • 选择工作副本。
  • 打开浏览器....右侧并行“To URL”。
  • 选择自定义.....右键单击然后添加文件夹。并浏览您创建的文件夹。这是“Project1Branch”。现在点击OK按钮添加。
  • 结帐这个新的banch。
  • 再次转到您想要创建的分支项目。右键单击TorotoiseSVN - >分支/标记。然后选择工作副本。您可以将URL作为分支名称。比如{你的IP地址/ svn / AAAA / Customization / Project1Branch}。您可以在URL中设置名称,以便仅使用此名称创建文件夹。 如{您的IP地址/ svn / AAAA / Customization / Project1Branch / MyProject1Branch}。
  • 按OK按钮。现在您可以看到登录...您的工作副本将存储在您的分支中。
  • 现在你可以退房了...让你享受你的工作。 :)

答案 9 :(得分:0)

以下是在Windows计算机中使用TortoiseSVN从中继创建分支的步骤。显然,这需要安装TortoiseSVN客户端。

  1. 右键单击本地Windows计算机上已更新的中继线
  2. 选择TortoiseSVN
  3. 点击分支/标记
  4. 在SVN信息库中选择“到”路径。请注意,目标URL根据给定的路径和分支名称进行更新
  5. 请勿在存储库浏览器的分支内创建文件夹
  6. 添加分支路径。例如,branchs /
  7. 添加有意义的日志消息以供参考
  8. 单击“确定”,这将在本地系统上创建新文件夹
  9. 检出创建到新文件夹中的分支