25

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

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

假设在主干中有一个新添加的文件:A,我的分支中没有。所以新创建的分支也有文件 A。(我使用了合并选项:“合并两棵不同的树”)我转到新的分支文件夹并将该分支 url 提供给 [FROM] 字段,并将我的分支 url 提供为 [ TO] 字段。当我进行合并时,它会从本地副本中删除该 A 文件。显然,我的理解是,合并将新的分支状态带到了我的分支状态,而不是整合更改。

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

这个怎么做?

4

2 回答 2

49
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]

在此处输入图像描述

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

于 2013-08-22T09:18:12.023 回答
3

我会从主干创建一个新分支,然后通过Merge a range of revisions将您的分支合并到新分支中。因为新分支较新,所以应该可以正常工作。

于 2013-08-19T09:18:12.333 回答