代码之家  ›  专栏  ›  技术社区  ›  sparkes

如何在SVN中创建分支?

  •  595
  • sparkes  · 技术社区  · 16 年前

    如何在SVN中创建分支?

    9 回复  |  直到 16 年前
        1
  •  337
  •   Alexander Abakumov    6 年前

    在颠覆中的分支是由一个非常轻和高效的复制设备促进的。

    分支和标记实际上是相同的。只需使用 svn copy 命令。

    基本上,这意味着按照惯例,复制文件夹意味着什么——无论是备份、标记、分支还是其他什么。根据您想如何考虑事情(通常取决于您过去使用的配置管理工具),您需要在存储库中设置一个文件夹结构来支持您的风格。

    常见的样式是在存储库的顶部有一堆文件夹 tags , branches , trunk 等等-这样你就可以复制你的整个 大旅行箱 (或子集合)进入 标签 和/或 分支机构 文件夹。如果您有多个项目,您可能希望在每个项目下复制这种结构:

    要适应这个概念可能需要一段时间——但它是有效的——只要确保你(和你的团队)对你将要使用的约定有明确的认识。有一个好的命名约定也是一个好主意——这可以告诉你为什么创建分支/标记,以及它是否仍然合适——考虑归档过时分支的方法。

        2
  •  586
  •   Dave Jarvis James Eichele    6 年前

    使用创建新分支 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"
    
        3
  •  28
  •   Dave    9 年前

    如果您的repo通过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"
    
        4
  •  24
  •   Parag Bafna    11 年前
    svn cp /trunk/ /branch/NEW_Branch
    

    如果您在主干中有一些本地更改,请使用 Rsync 同步更改

    rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
    
        5
  •  14
  •   pix0r    16 年前

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

    以下是一些建议 how to set up your repository layout .

        6
  •  13
  •   Peter Mortensen Len Greski    9 年前

    假设您想从一个主干名创建一个分支(称为“测试”)。 然后使用:

    svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
    
        7
  •  11
  •   basszero    12 年前

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

    Svnmerge.py

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

        8
  •  10
  •   Peter Mortensen Len Greski    9 年前

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

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

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

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

    svn switch http://my.repo.url/myrepo/branches/newBranchName
    
        9
  •  5
  •   Peter Mortensen Len Greski    9 年前
    • 在当前项目之外创建新文件夹。你可以给它取任何名字。(例如:您有一个名为“自定义”的项目的签出。它有许多项目,如“项目1”、“项目2”…,您希望创建一个“项目1”的分支。因此,首先打开“自定义”,右键单击并创建一个新文件夹,并为其命名为“project1branch”)。
    • 右键单击“MyProject1”……Tortoissesvn->分支/标记。
    • 选择工作副本。
    • 打开浏览器…刚好在“to url”上并行。
    • 选择自定义…..右键单击然后添加文件夹。浏览你创建的文件夹。这里是“项目1牧场”。现在点击OK按钮添加。
    • 去这家新银行结账。
    • 再次转到要创建的项目分支。右键单击“Torooissesvn->分支/标记”。然后选择工作副本。您可以将URL作为分支名称。比如您的IP地址/svn/aaaa/customization/project1branch。您可以在URL中设置名称,这样它将只创建具有此名称的文件夹。 比如您的IP地址/svn/aaaa/customization/project1branch/myproject1branch。
    • 按“确定”按钮。现在您可以看到登录了……您的工作副本将存储在您的分支中。
    • 现在你可以退房了……让你享受你的工作。:)