【问题标题】:Merging of branch to trunk in SVN using Eclipse使用 Eclipse 在 SVN 中将分支合并到主干
【发布时间】:2011-04-06 10:00:42
【问题描述】:

我期待将我在 SVN 的一个分支中开发的代码合并到主干。我正在使用 Eclipse,并且一直在使用 Team->Commit 将我的更新提交到 SVN。但我之前没有做过合并。请帮我解决一下这个。谢谢

【问题讨论】:

    标签: eclipse svn


    【解决方案1】:
    1. 首先确保您是最新的。更新目标分支的工作副本,即。你要合并的地方。在此示例中,我们正在处理“核心”的主干,我们希望获取维护分支中发生的更改并将它们合并。
    2. 解决任何冲突。在此阶段,工作副本和存储库之间不应存在冲突。
    3. 在工作副本上选择 SVN 合并选项。在 Eclipse 中,这将在“Team”菜单下找到并称为“Merge Branch”。 SVN:在 Eclipse 中合并
    4. 将 From URL 更改为要合并到工作副本中的特定分支。在此示例中,我们正在寻找 p400 维护分支 (./core/branches/p400)。
    5. 将 From Revision 更改为合并到目标分支中的最后一个版本。本质上,您不想继续合并整个分支历史记录,您只想包含自上次合并以来的那些更改。目前在 Subversion 中没有简单的方法来确定最后一个合并点。您必须查看您的消息日志并查找有关合并的最后一次提交。如果您对用于合并的提交消息有纪律,这应该很容易(见下文)。记下该修订是什么——您稍后在提交更改时将需要它。 SVN:与 Eclipse 合并
    6. 将 To Revision 更改为最新版本(即 head)。记下该修订是什么 - 稍后提交更改时会用到它。
    7. 单击合并并等待。根据差异有多大,这可能很快,或者 Eclipse 我只是摔倒了。如果您有如此巨大的变化以至于无法在 Eclipse 中完成,您可能需要缩小要合并的修订范围。或者,如果它们很大,您甚至可能不得不跳过某些修订并手动进行。我们在更新大型第三方库时不时遇到这个问题。绝大多数情况下你会没事的。
    8. 查看更改并解决冲突。合并完成后,查看对工作副本所做的更改,确保解决发现的任何冲突。
    9. 在目标工作副本中解决所有更改后,通过一次提交将它们签入。您没有进行大量提交的原因是这些更改应该记录在您合并的分支中。提交消息需要采用特定格式,详细说明合并并且将来易于查找。我们使用以下格式,但您可以使用任何适合您的格式 - 只要您坚持下去。

      将[源]合并到[目标]; [存储库]。合并 rev [开始]:[结束]

    享受吧!

    【讨论】:

    • 与颠覆性相反(我认为是 eclispe 标准 svn 客户端?)Subclipse 在合并之前有很好的最佳实践检查;)你知道..
    【解决方案2】:

    在 Eclipse 中,我们可以选择合并。右键单击项目,您将看到“团队”选项,单击它您将看到合并选项。您可以在合并中看到三个不同的选项。

    要成功将分支的更改合并到主干,我们需要将本地工作区切换到主干(但确保所有更改在此之前都提交到分支)。完成后,我们可以使用合并选项并选择“2 URL”选项。我将主干的 url 作为 url 1 并将我想要合并的分支作为 url 2。我可以看到我选择“确定”的所有传入更改。现在所有更改都在我的本地(此时我的工作区已链接到主干)。然后我将我的更改提交到主干,因此从分支合并到主干是成功的。

    【讨论】:

      【解决方案3】:

      我想为第 8 点添加内容。查看更改并解决冲突。 ---

      手动处理冲突时——当你从右到左复制代码块时——要小心 有时会添加代码块,有时它会正确替换代码块。 确保没有重复的代码块。

      另外,这很有帮助--What is the proper way to do a Subversion merge in Eclipse?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-23
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        • 2015-09-15
        • 2011-01-23
        • 2010-11-25
        相关资源
        最近更新 更多