svn -如何创建分支?

Translate

如何在SVN中创建分支?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

Subversion中的分支是通过非常轻便高效的复制工具实现的。

分支和标记实际上是相同的。只需将存储库中的整个文件夹复制到存储库中的其他位置即可svn copy命令。

基本上,这意味着按照惯例,复制文件夹的含义-无论是备份,标签,分支还是其他。根据您对事物的看法(通常取决于您过去使用的SCM工具),您需要在存储库中设置一个文件夹结构来支持您的样式。

常见样式是在存储库顶部有一堆文件夹,称为tags, branches, trunk等等-允许您复制整个内容trunk(或子集)tags和/或branches文件夹。如果您有多个项目,则可能需要在每个项目下复制这种结构:

可能需要一段时间才能习惯该概念-但它确实有效-只要确保您(和您的团队)对将要使用的约定清楚。拥有良好的命名约定也是一个好主意-可以告诉您创建分支/标记的原因以及是否仍然合适-可以考虑将过时的分支归档。

来源
Translate

使用创建一个新分支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"
来源
Translate

如果您可以通过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"
来源
Translate
svn cp /trunk/ /branch/NEW_Branch

如果您的中继有一些本地更改,请使用Rsync同步更改

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
来源
Translate

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

这是一些建议如何设置您的存储库布局.

来源
Translate

假设您要根据中继名称(如“ TEST”)创建分支,然后使用:

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

SVN新用户的最佳技巧;这可能有助于快速获取正确的网址。

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

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

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

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

如果您甚至打算合并分支机构,强烈建议您看一下:

Svnmerge.py

我听说Subversion 1.5内置了更多的合并跟踪功能,对此我没有任何经验。我的项目在1.4.x上,而svnmerge.py可以挽救生命!

来源
Translate
  • 在当前项目之外创建一个新文件夹。您可以给它起任何名字。 (示例:您有一个名为“ Customization”的项目的结帐。它有许多项目,例如“ Project1”,“ Project2”...。并且您想创建“ Project1”的分支。因此,首先打开“自定义”,右键单击并创建一个新文件夹,并将其命名为“ Project1Branch”)。
  • 右键单击“ Myproject1”。...TortoiseSVN->分支/标签。
  • 选择工作副本。
  • 打开浏览器...。只需在“ To URL”上并排。
  • 选择自定义.....右键单击,然后添加文件夹。并浏览您创建的文件夹。这是“ Project1Branch”。现在单击确定按钮添加。
  • 签出这个新的分支。
  • 再次转到项目要创建的分支。右键单击TorotoiseSVN->分支/标签。然后选择工作副本。您可以将URL作为您的分支名称。例如{您的IP地址/ svn / AAAA / Customization / Project1Branch}。并且您可以在URL中设置名称,以便仅使用该名称创建文件夹。就像{您的IP地址/ svn / AAAA /自定义/ Project1Branch / MyProject1Branch}。
  • 按确定按钮。现在您可以看到日志...您的工作副本将存储在您的分支机构中。
  • 现在您可以签出...,让您享受工作。 :)
来源