如何使用Eclipse合并工具将CVS分支合并到HEAD?

时间:2009-02-09 22:02:04

标签: java eclipse merge cvs

我目前正在使用团队创建的分支机构 - > Branch。我如何使用Team - > Merge将我的更改合并到分支?

6 个答案:

答案 0 :(得分:49)

我也遇到了麻烦。以下是我合并的步骤(主要来自在线Eclipse帮助):

  1. 在制作我的开发分支(团队 - >分支)时,我确保为分支创建了根标记,这是CVS将用于确定分支的更改的标记以及其他努力可能带来的成就
  2. 我在分支机构上完成了我的开发,并将所有更改提交(团队 - >提交)回到存储库
  3. 现在我对分支的所有更改都在存储库中,我加载了要合并到的目标分支,通常是HEAD(团队 - >切换到另一个分支或版本
  4. 您现在可以开始实际的合并过程了。在这里,您将选择应该发生哪些更改以及应该丢弃哪些更改。将此过程视为半自动化开发周期,有效地进行结账,进行更改,提交周期。只需手动插入更改,您就可以使用比较工具来帮助您。毕竟你已经在你的分支中进行了所有代码更改!

    合并:

    1. 团队 - >合并
    2. 要合并的分支或版本(结束标记):这是开发分支标记的名称
    3. Common Base Version:这是分支的根标记的名称(还记得前面部分的第1步吗?)。这应该由该工具自动填充,但如果没有,请自行添加
    4. 我喜欢在同步视图中预览合并,这样我就可以确保没有任何东西可以进入。根据你的勇敢,这是我建议的选择。点击完成按钮
    5. 将出现Synchronize Perspective,您的目标分支与源分支之间的任何差异都将显示在左侧的可展开列表中
    6. 对于任何文件,您可以在比较工具中打开它以查看它之前的内容并单独合并更改(记得在完成后保存文件!)或者您可以右键单击该文件并从可扩展列表中选择合并。如果您手动与比较工具合并,则可以在展开式列表中选择“标记为合并”以从待办事项列表中删除该文件。
    7. 一旦您决定如何处理该文件,它将从列表中删除。目标是操作每个文件
    8. 现在您已合并所有更改,请切换回Java透视图并选择团队 - >与存储库同步,Synchronize Perspective将重新启动。
    9. 这次选择Commit将所有更改推送到存储库中。
    10. 翅片!
    11. 希望有所帮助。 以下提供的参考资料是指导我取得胜利的帮助文件的内容!

      Eclipse SDK Help - Merging a Branch

答案 1 :(得分:7)

确保将目标加载到工作区中。这是最重要的部分,也是我试图做几次时错过的部分。

例如,如果您希望将更改合并到HEAD中,请确保项目与工作区中的HEAD共享(而不是您正在处理的分支)。为此,请选择项目,然后从上下文菜单中选择Team > Replace With > Another Branch or Version。然后选择要替换的分支。

从这一点开始,选择Team > Merge,然后选择要合并到HEAD的分支。

答案 2 :(得分:4)

我同意这是另一种方式, 如果YOUR_BRANCH中的更改需要更新为HEAD,

1)提交对YOUR_BRANCH的更改 2)将本地分支交换到HEAD 3)合并在YOUR_BRANCH中进行的HEAD改变

因此您需要处于HEAD并从YOUR_BRANCH“接受”更改(而不是将更改从YOUR_BRANCH发送到HEAD)。

答案 3 :(得分:1)

我必须这样做。虽然上面的答案是相似的,但我发现它们并不具体到我需要做的事情。

  • 如前所述,确保您的去除分支(通常是头部)已经检出。
  • 然后,突出显示您知道在分支(或整个项目中)已更改的文件,然后选择Team -> Merge。在弹出的对话框中,选择“Branch or version to be merged (end tag)”,即 你想要带你的源分支 文件来自。
  • 在我的情况下这个自动 填充“Common base version (start tag)”,但如果不是,那么 这将是创建的标记 分支创建时。

预览更改时,它们将显示在正常的CVS同步视图中。合并文件时,它们将被带入您的本地工作区(以前是您的目标分支)作为更改。此时,您需要将它们检入CVS。

答案 4 :(得分:0)

我也在努力解决这个问题,在我选中“执行合并到本地工作区”单选按钮之前,上述答案没有用。

不幸的是,在合并两个文件之前,我无法预览合并。

答案 5 :(得分:0)

坦率地说,除非您从分支开始就预期并计划合并,否则没有简单明了的方法。

但是,我发现了一个完美无缺的黑客,I've described in a blog post