我有一个分支,我正在单独进行更改。其他队友在干线上进行更改。场景是,现在我想发布包括主干更新+我的分支更新的版本。由于我还没有完成整个模块,我不想将分支合并到主干。相反,我想从trunk创建另一个新分支,然后将我的分支更改合并到该新分支。 这样我就可以通过我的分支更新+最新的主干更新完全更新新分支。
我正在使用towise svn merge,这就是我所做的:
让我们说在trunk中有一个新添加的文件:A,它在我的分支中没有。所以新创建的分支也有文件A.(我使用了合并选项:“合并两个不同的树”)我转到新的分支文件夹,并将该分支URL发送到[FROM]字段,并为[分配网址]提供了[ TO]场。当我进行合并时,它会删除本地副本中的A文件。显然我理解的是,合并已将新的分支状态转换为我的分支状态,而不是整合更改。
我想要的是将我的分支更改合并到新分支,而不会丢失新分支所具有的最新更改。这样我就可以拥有新的分支:最新的主干修改+我的分支更改。
怎么做?
答案 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
4. Perform svn Update inside "Team"->So newBranch is updated.[picture2]
5. Now, select newbranch and merge[Tortoisesvn->Merge][Picture3]
6. Select default "Merge a range of revision", to select revisions which you only intrested to merge.[[Picture4]
7. Click, showlog to select required revisions you intrested on[picture5]
Finaly merge is completed[picture6]
**注意:如果遇到冲突,则手动合并冲突修订。
答案 1 :(得分:3)
我将从trunk创建新分支,然后通过合并一系列修订将您的分支合并到新分支中。因为 new branch 更新,所以应该可以正常工作。