有没有什么工具可以让我轻松理解git冲突文件?

时间:2012-05-16 04:49:46

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

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

<<<<<<< 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工具以更人性化的格式显示数据?感谢。

4 个答案:

答案 0 :(得分:2)

这是冲突的结果。

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

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

对于一般的git用法,我还推荐像gitg(Linux)/ gitx(Mac)这样的gui工具。

答案 1 :(得分:1)

一些Git客户端提供了一个“diff3”冲突求解器工具(3个面板帮助您通过几次鼠标点击解决冲突)。您可以尝试使用SmartGit

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

答案 2 :(得分:0)

您可以使用meld作为合并的可视化工具,它可以很好地进行三向合并,向您显示公共根,并允许从合并的两侧提取更改。

要在运行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

答案 3 :(得分:0)

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

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

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