【问题标题】:Is there any tool for me to easy understand the git conflict file?有什么工具可以让我轻松理解 git 冲突文件吗?
【发布时间】:2012-05-23 15:23:38
【问题描述】:

我合并了两个分支,但最终的文件是这样的:

<<<<<<< HEAD
this is line -1.
this is line -2.
this is line -3.
=======
this is line b1.
this is line b2.
this is line b3.
>>>>>>> addSomePrefix

我不知道它代表什么,他们是否有任何 GUI 工具可以以更易读的格式显示数据?谢谢。

【问题讨论】:

  • 根据您的平台,您可能需要 TortoiseGit:code.google.com/p/tortoisegit/downloads/list 我不确定它是否有助于解决这个问题(我不确定您的问题 确切地说 - 它看起来更像是一个合并冲突警告而不是“配置文件”!),但它通常可能会有所帮助......恕我直言......
  • 这不是配置文件;这看起来像是冲突。建议您修改问题?
  • 看起来像合并冲突。 Head 部分是当前代码,===== 下面的部分是从分支 addSomePrefix 合并的代码。
  • 这不是git配置文件,这是diff程序造成的合并冲突。 GUI工具,我很喜欢diffmerge
  • 我更新了我的标题,谢谢大家。

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


【解决方案1】:

这是冲突的结果。

您应该手动编辑文件,解决冲突(基本上这意味着选择您想要保留的代码)。

现在 === 上面的代码是旧代码,=== 下面是你的新代码(我认为是这样!)。

对于一般的 git 使用,我还推荐一个 gui 工具,如 gitg (Linux) / gitx (Mac)。

【讨论】:

    【解决方案2】:

    一些 Git 客户端提供“diff3”冲突解决工具(一个 3 面板视图,可帮助您通过几次鼠标点击解决冲突)。你可以试试SmartGit

    但是,正如已经说过的,手动解决冲突也是一种选择,它并不困难......

    【讨论】:

      【解决方案3】:

      您可以将meld 用作合并的可视化工具,它可以很好地进行 3 向合并,向您显示公共根并允许从合并的两侧拉入更改。

      要在您运行 git mergetool 时调用它,请将以下内容添加到您的 git 配置中

      [merge]
         summary = false
         tool = "meld"
      
      [mergetool "meld"]
        cmd = meld \
         -a \
         "$PWD/$BASE" \
         "$PWD/$LOCAL" \
         "$PWD/$REMOTE" \
         -o "$PWD/$MERGED"
         keepBackup = false
         trustExitCode = false
      

      【讨论】:

        【解决方案4】:

        您可以检查ECMerge(我工作的工具),它使用“打开冲突文件”菜单或从它的shell扩展加载Git冲突文件,并显示它们以便让您解决冲突。

        顺便说一句,它适用于大多数其他 VCS(例如 Bazaar、Darcs、CVS、SVN 等)。

        ECMerge 与 git 集成,它有一个预先注册的工具,当配置为使用 git 命令行时,它也可以浏览 Git 存储库(本地和裸存储库)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-22
          • 1970-01-01
          • 2011-06-15
          • 2015-04-16
          • 2011-10-09
          • 2015-01-17
          相关资源
          最近更新 更多