【问题标题】:Merge two branches using tortoise SVN使用 Tortoise SVN 合并两个分支
【发布时间】:2013-08-20 22:36:26
【问题描述】:

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

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

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

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

如何做到这一点?

【问题讨论】:

  • 这是你当前的 svn,(trunk == newbranch)。现在您要合并您的工作分支(您知道具体的修订(200 到 266 和 290、293)需要合并。请确认这是进一步进行的前提条件吗?
  • 是的,橄榄。我想将我的分支作品合并到新分支;这是trunk的精确副本。请说明一步一步的过程。

标签: svn tortoisesvn


【解决方案1】:
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]

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

【讨论】:

  • QA完成后如何将“newbranch”合并回“trunk”?
  • 您需要首先使用“合并一系列修订”选项将所有更改从主干合并到您的分支,然后一旦您完成了“合并两个不同的树”,选择你的树干作为'from',分支作为你的'to'版本。
  • 不错的答案。 newBranch 不应该在分支中吗? :)
  • @Jean-FrancoisT。没关系,它也可以合并到主干。 branch/trunk/tag 只是开发/简单文件夹名称的符号。
  • @Ashif。我知道你可以做到,这只是一个惯例。但是如果可以的话,最好保持约定:)
【解决方案2】:

我会从主干创建一个新分支,然后通过合并一系列修订将你的分支合并到新分支中。因为 新分支 较新,所以应该可以正常工作。

【讨论】:

  • 是的,Micha,我最初就是这样做的。但是因为我在分支中进行开发时主干正在更新,所以它不起作用。据我了解,如果主干没有更新,而我的分支工作,那么这个方法工作正常。
  • 应该可以工作,不管主干是否更新,因为已知的 svn 关系。是的,您可能会收到冲突,但基本上它应该可以工作。在我重新集成主干中的分支之前,我将更新从主干合并到分支,然后将分支(具有新功能)合并到主干中。这有助于我解决很多冲突。
猜你喜欢
  • 2014-02-01
  • 2016-08-10
  • 2010-11-25
  • 2013-04-11
  • 2020-06-22
  • 2011-01-23
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多