如何创建分支?

如何在SVN中创建分支?

674442 次浏览

使用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"

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

这里有一些关于如何设置存储库布局的建议。

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

Svnmerge.py

我听说Subversion 1.5构建了更多的合并跟踪功能,我没有这方面的经验。我的项目在1.4版。X和svnmerge.py是一个救生员!

Subversion中的分支由一个非常轻、非常高效的复制工具实现。

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

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

常见的风格是在你的存储库顶部有一堆文件夹,称为tagsbranchestrunk,等等-这允许你把你的整个trunk(或子集)复制到tags和/或branches文件夹中。如果你有多个项目,你可能想在每个项目下复制这种结构:

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

假设你想从一个主干名称(如"TEST")创建一个分支。 然后使用:< / p >
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
svn cp /trunk/ /branch/NEW_Branch

如果在trunk中有一些本地更改,那么使用Rsync来同步更改

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
  • 在当前项目之外创建一个新文件夹。你可以给它起任何名字。(示例:您有一个名为“Customization”的项目的签出。它有很多项目,比如“Project1”,“Project2”....您想要创建“Project1”的一个分支。所以首先打开“定制”,右键单击并创建一个新文件夹,并给它一个名字,“Project1Branch”)。
  • 右键点击“Myproject1”....TortoiseSVN ->分支/标签。
  • 选择工作副本。
  • 打开浏览器…就在“到URL”的平行右边。
  • 选择定制…右键单击然后添加文件夹。然后浏览你创建的文件夹。这里是“Project1Branch”。现在单击OK按钮添加。
  • 请到这家新银行结账。
  • 再次进入你想要创建的项目分支。右键单击TorotoiseSVN ->分支/标签。然后选择工作副本。您可以将URL作为分支名称。比如{你的IP地址/svn/AAAA/Customization/Project1Branch}。你可以在URL中设置名称,这样它就会用这个名称创建文件夹。 比如{你的IP地址/svn/AAAA/Customization/Project1Branch/MyProject1Branch}.
  • . {/li> .}
  • 按OK按钮。现在你可以看到…工作副本将存储在分支中。
  • 现在你可以结账了……让你享受你的工作。:)

SVN新用户的小贴士;这可能有助于快速获得正确的url。

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

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

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

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

如果你的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"

下面是在windows机器中使用TortoiseSVN从主干创建分支的步骤。这显然需要安装TortoiseSVN客户端。

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