使用subversion将更改提交到与当前签出的分支不同的分支

时间:2010-05-06 19:24:07

标签: svn version-control branch

我一直在研究从开发线检出的代码,发现所做的更改可能会破坏更改,需要在提交到主开发树之前将其移动到实验分支。但是,我没有检查实验分支,我不想丢失已经进行的更改。

有没有办法将工作文件夹中的更改提交到与最初检出的分支不同的分支?

3 个答案:

答案 0 :(得分:123)

您应该首先从已知的sourceURL创建一个分支(这将是您在问题中提到的'开发线'):

svn copy sourceURL branchURL

然后,切换到该分支:

svn switch branchURL

并提交您的更改:

svn commit

答案 1 :(得分:53)

你可以在TortoiseSVN中这样做:

  • 右键单击要分支的更改所在的目录。它不能是存储库的根,不能以这种方式复制;
  • 选择 TortoiseSVN - > “的科/标签... ”;
  • 设置为网址:“svn:// host / repository / FooBar / branches / FooBarBranchName”;
  • 确保选择[*] 工作副本。这将确保提交更改;
  • 记录消息:“试验苍蝇:)”;
  • 可选:勾选[*] 将工作副本切换为新分支/标记。如果您计划继续处理新分支,这将非常有用。虽然您也可以稍后切换到它。
  • 尝试找到确定按钮。提示:它位于窗口的下半部分。

享受!

答案 2 :(得分:8)

您可以直接从工作目录创建新分支,并将工作目录切换到该分支。

命令是 svn copysvn switch