SVN分支问题

时间:2011-08-18 07:37:35

标签: svn version-control merge tortoisesvn

我的项目X中有一个/ Trunk。在第69版中,我们不得不在三个早期版本(61,63,64)中恢复更改。

我所做的是对修订版61,63,64的反向合并,并将其提交到第69版。然后我们可以再次部署,每个人都很高兴。

现在我们已经了解到在单独的分支中开发新功能是一个很好的想法,然后Trunk随时可以部署到生产(并在当前版本上执行修补程序)。

所以现在我已经从/ Trunk中的HEAD修订版(即版本69)中创建了一个“/ Branches / X”(rev 70),但是我希望能够在/ Trunk中找到我所做的更改( 61,63,64)

这是正确的方法吗?

顺便说一句,我已经明白了吗? :)

3 个答案:

答案 0 :(得分:2)

首先,请注意拼写检查:trunkbranches通常都是小写的。也就是说,您应该删除您的分支并从版本68重新创建它。

svn delete <project_url>/branches/X -m"branch X removed"

svn copy <project_url>/trunk@68 project_url/branches/X -m"New branch X"

这里我假设修订版68包含转速的所有更改。 61,63,64,你不想要的任何东西。

我相信你已经意识到没有the Subversion book你就不能走得太远。

答案 1 :(得分:1)

您可以再次将它们合并,现在又合并到分支:

svn merge -r60:64 url://trunk wc-branch

答案 2 :(得分:1)

一般来说,假设您想要将一些变更集从分支X合并到分支Y.使用TortoiseSVN执行以下步骤:

  1. 在工作文件夹Y-WF中获取Y.
  2. 转到Y-WF。
  3. 右键单击并选择合并。
  4. 对于源网址,请输入X分支的网址。
  5. 选择要合并的更改集。
  6. 按OK。
  7. 现在,更改已应用于您的工作文件夹。 (在没有冲突的情况下)
  8. 签入所有更改。