如何在SVN中创建分支?如何在SVN中创建分支?
回答
在Subversion中的分支是由一个非常非常轻巧高效的复制工具来实现的。
分支和标记实际上是相同的。只需使用svn copy
命令将存储库中的整个文件夹复制到存储库中的其他位置即可。
基本上这意味着按照惯例,复制文件夹意味着什么 - 意味着它是备份,标记,分支还是whater。根据你想如何考虑事情(通常取决于你过去使用过哪个SCM工具),你需要在你的仓库中设置一个文件夹结构来支持你的风格。
常见的款式都在你的仓库顶部称为tags
,branches
,trunk
等方面有一大堆的文件夹 - 这允许您在整个trunk
(或子集)复制到tags
和/或branches
文件夹。如果您有多个项目,您可能需要在每个项目下复制这种结构:
可能需要一段时间才能习惯这个概念 - 但它有效 - 只要确保您(和您的团队)都明确你将要使用的约定。拥有一个好的命名约定也是一个好主意 - 告诉你为什么分支/标签已经生成以及是否仍然适用 - 考虑归档过时的分支的方法。
Subversion使得使用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,这样就可以保持几个分支在仓库中,但你的语法是有效的。
以下是关于how to set up your repository layout的一些建议。
如果您即使在合并你的分支计划,我强烈建议你看看这个:
我听到Subversion 1.5的建立更多的合并跟踪,我有没有经验。我的项目在1.4.x上,而svnmerge.py是一款救星!
假设你想创建一个中继名称的分支(如“TEST”) 然后使用:
svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
svn cp /trunk/ /branch/NEW_Branch
如果你有一些树干上的局部变化,然后使用Rsync
同步变化
rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
- 在当前项目之外创建一个新文件夹。你可以给它任何名字。 (例如:你有一个名为“Customization”的项目结账,并且它有许多项目,比如“Project1”,“Project2”....并且你想创建一个“Project1”的分支,所以首先打开“自定义“,右键单击并创建一个新文件夹并命名为”Project1Branch“)。
- 右键单击“Myproject1”.... TortoiseSVN - > Branch/Tag。
- 选择工作副本。
- 打开浏览器....恰到好处的“到URL”。
- 选择自定义.....右击然后添加文件夹。并通过您创建的文件夹。这里是“Project1Branch”。现在点击OK按钮添加。
- 检查这个新banch。
- 再次转到您的项目要创建的分支。右击TorotoiseSVN - >分支/标签。然后选择工作副本。并且您可以将URL作为分支名称。像{你的IP地址/ svn/AAAA/Customization/Project1Branch}。并且您可以在URL中设置名称,以便仅创建具有此名称的文件夹。 像{你的IP地址/ svn/AAAA/Customization/Project1Branch/MyProject1Branch}。
- 按下OK按钮。现在您可以看到日志了......您的工作副本将存储在您的分支中。
- 现在,您可以退房...并让您享受您的工作。 :)
新的SVN用户的提示;这可能会有助于快速获取正确的URL。
运行svn info
显示有关当前签出分支的有用信息。
URL应该(如果你在根文件夹中运行svn)给你你需要复制的URL。
也切换到新创建的分支,使用svn switch
命令:
svn switch http://my.repo.url/myrepo/branches/newBranchName
如果你是回购协议通过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"
- 1. 如何创建SVN分支
- 2. 混帐SVN从SVN分支创建SVN分支
- 3. 创建本地SVN分支
- 4. 创建SVN分支问题
- 5. 如何从本地git分支创建svn分支?
- 6. git-svn无法创建一个分支来跟踪SVN分支
- 7. 如何在GUI下创建SVN中的分支
- 8. git-svn:如何为SVN的子项目创建标签/分支
- 9. 如何使用多个源在'git svn'上创建分支?
- 10. SVN从Uncommited Code创建分支
- 11. svn创建树干和分支
- 12. 从特定版本创建svn分支
- 13. 如何在git中创建新分支?
- 14. 图形svn客户端创建分支,合并分支等?
- 15. 如何在XCode(SVN)中使用分支
- 16. 在git中创建分支的分支?
- 17. 如何重新创建一个git svn远程追踪分支?
- 18. 如何为svn仓库创建git远程分支
- 19. 如何使用nant脚本创建svn分支?
- 20. 如何使用Maven从SVN标签创建分支?
- 21. 如何从svn分支创建临时git仓库
- 22. 如何在CVS中为现有分支创建子分支?
- 23. 如何在git中为分支创建分支?
- 24. TFS - 如何创建分支
- 25. 在SVN中创建分支的符号链接?
- 26. 在SVN中创建和合并分支的最佳实践
- 27. svn - 如何合并在两个分支中手动创建的目录?
- 28. 使用git-svn创建一个新的svn分支
- 29. 创建分支的svn copy和svn merge有什么区别?
- 30. 如何:SVN分支合并
接下来使用`svn switch svn + ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH .`(如果您想将当前结帐切换到新分支)或`svn checkout svn + ssh:// host .example.com/repos/project/branches/NAME_OF_BRANCH`(如果你想在分开的目录中有新的分支)开始处理新创建的br ANCH。 – 2012-10-14 18:45:48
***注:***在某些情况下,您需要使用**`--parents` **选项和`svn copy`! – 2012-10-15 05:54:57
由于某种原因我使用了这个cmd,但它没有工作,但是当我将svn + ssh改为https时,它确实有效。我做错了什么吗? svn + ssh的含义是什么?谢谢! – 2013-08-22 07:31:16