【问题标题】:Is it possible to avoid 'offset issues' when resolving merge conflicts?解决合并冲突时是否可以避免“偏移问题”?
【发布时间】:2014-05-21 17:40:20
【问题描述】:

假设您在一个文件中有 2 个方法:

BASE
----
m1
m2

现在两个开发人员都稍微修改了方法。但是一位开发人员在文件顶部添加了一个新方法

MINE    |  THIERS
--------+--------
m1'     |   m0
m2'     |   m1''
        |   m2''

我想看看m1' vrs m1''m2' vrs m2'' 的比较。我一直在使用的工具(FileMerge 和 P4Merge)似乎经常显示 m1' vrs m0m2' vrs m1''

如果没有看到类似的东西,很难说出发生了什么变化。有没有一种工具或策略可以让这些类型的合并不那么痛苦?

【问题讨论】:

  • Git 有一个“耐心差异”算法,它会花费更多的 CPU 时间来尝试产生更有用的结果。较新的 git 变体有一个“直方图”变体。我不知道他们是否真的会有所帮助,但他们值得一试。请参阅-X patience-X diff-algorithm=...(与git merge 一起使用时)。

标签: git merge conflict git-merge merge-conflict-resolution


【解决方案1】:

Araxis Merge 中,您可以在要比较的两个或三个文件之间添加synchronization links。您在两个文件的相似部分之间添加同步链接 - 在您的示例中,您可能会在 m1'm1'' 以及 m2'm2'' 之间创建同步链接。然后将文件的这些部分相互比较,而不是您当前遇到的情况 - m1'm0 进行比较,与它没有关系。

【讨论】:

    【解决方案2】:

    KDiff3中,你可以在被比较的两个或三个文件之间添加synchronization links(可能与Araxis Merge非常相似,虽然我从未尝试过)。我不能高度推荐 KDiff3,它是一款出色的免费 (GPL) 工具,我几乎每天都在使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2022-10-20
      • 1970-01-01
      • 2012-03-01
      • 2011-07-22
      • 1970-01-01
      • 2018-06-27
      相关资源
      最近更新 更多