使用tortoise SVN合并两个分支

时间:2013-08-19 07:33:32

标签: svn tortoisesvn

我有一个分支,我正在单独进行更改。其他队友在干线上进行更改。场景是,现在我想发布包括主干更新+我的分支更新的版本。由于我还没有完成整个模块,我不想将分支合并到主干。相反,我想从trunk创建另一个新分支,然后将我的分支更改合并到该新分支。 这样我就可以通过我的分支更新+最新的主干更新完全更新新分支。

我正在使用towise svn merge,这就是我所做的:

让我们说在trunk中有一个新添加的文件:A,它在我的分支中没有。所以新创建的分支也有文件A.(我使用了合并选项:“合并两个不同的树”)我转到新的分支文件夹,并将该分支URL发送到[FROM]字段,并为[分配网址]提供了[ TO]场。当我进行合并时,它会删除本地副本中的A文件。显然我理解的是,合并已将新的分支状态转换为我的分支状态,而不是整合更改。

我想要的是将我的分支更改合并到新分支,而不会丢失新分支所具有的最新更改。这样我就可以拥有新的分支:最新的主干修改+我的分支更改。

怎么做?

2 个答案:

答案 0 :(得分:48)

Perform fresh checkout of your repository 
Precondition:( Suppose your repository name: Team )
1. You have trunk( Main Dev )
2. You have branch ( Your changes )
3. Create say "newbranch" from trunk.[ TortoiseSVN->Branch/tag][ Picture1 }Note:Select Head revision

enter image description here

4. Perform svn Update inside "Team"->So newBranch is updated.[picture2]

enter image description here

5. Now, select newbranch and merge[Tortoisesvn->Merge][Picture3]

enter image description here

6. Select default "Merge a range of revision", to select revisions which you only intrested to merge.[[Picture4]

enter image description here

7. Click, showlog to select required revisions you intrested on[picture5]

enter image description here

 Finaly merge is completed[picture6]

enter image description here

**注意:如果遇到冲突,则手动合并冲突修订。

答案 1 :(得分:3)

我将从trunk创建新分支,然后通过合并一系列修订将您的分支合并到新分支中。因为 new branch 更新,所以应该可以正常工作。