【问题标题】:What's a good (free) visual merge tool for Git? (on windows) [closed]什么是 Git 的好(免费)可视化合并工具? (在窗户上)[关闭]
【发布时间】:2011-11-05 20:52:00
【问题描述】:

similar question 已被询问,但针对的是 Ubuntu。

了解该工具是否像 beer 或 liber 一样免费会有所帮助。

此外,很高兴知道该工具的起起落落。

【问题讨论】:

    标签: windows git version-control merge


    【解决方案1】:

    我也用过Meld。它是用python编写的。有一个适用于 Windows 的官方安装程序,效果很好。

    安装它,然后将其设置为您的默认合并工具。

    $ git config --global merge.tool "meld"
    $ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
    

    如果使用 GUI GIT 客户端,请尝试以下操作(SourceTree 说明,相应调整)

    • 在 SourceTree 中,转到 Tools/Options/Diff
    • External Diff Tool 中,选择自定义
    • 在 Diff 命令中输入 C:\Program Files (x86)\Meld\meld.exe,在参数中输入 $LOCAL $REMOTE
    • Merge Tool 中,选择自定义
    • 在 Diff 命令中输入 C:\Program Files (x86)\Meld\meld.exe,在参数中输入 $LOCAL $MERGED $REMOTE

    【讨论】:

    • 谢谢,Meld 真的很好 :) 很清楚,很容易看到发生了什么。感谢您发布安装说明。没有这些,我会迷路的。
    • 如果您使用的是 cygwin/babun,请将第二个选项替换为:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
    • +1 用于 git 配置,我将它与下面的 P4Merge 一起使用:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
    • 我尝试了 Meld,它很好,有一些漂亮的视觉效果,但最后还是选择了 Beyond Compare,有报酬,而且非常开心。 Meld 的一个缺点是按钮不提供鼠标悬停描述。另一个 - Beyond Compare 提供了从一个差异移动到下一个差异的按钮。另一个 - Beyond Compare 在窗口标题栏中显示文件路径。 Meld 当然“足够好”,但我宁愿为 Beyond Compare 付费。 (而且我与 Beyond Compare 没有任何关系)。
    • meld 在 windows 上太慢了,更快的是:kdiff3, winmergeu
    【解决方案2】:

    在 Windows 上,一个很好的 3 路 diff/merge 工具仍然是 kdiff3WinMerge,目前,仍然是 2 路的,待定 WinMerge3)

    请参阅“How do you merge in GIT on Windows?”和this config


    7 年后(2018 年 8 月)更新:Artur Kędzior 提及 in the comments

    如果你们碰巧使用Visual Studio(社区版是免费的),试试它附带的工具:vsDiffMerge.exe。它真的很棒且易于使用。

    【讨论】:

    • 虽然偏爱 BC,但我要去看看这个工具。
    • @Preet: BC 仍然是最好的 ;) 但是对于 免费 工具(多平台),kdiff3 还不错。
    • 但它肯定也不是那么好 :) 我倾向于发现使用我的常规代码编辑器更容易。
    • @Warpzit 我同意有一点学习曲线,但我现在已经习惯了;)
    • @ArturKędzior 谢谢。我已将您的评论包含在答案中以提高知名度。
    【解决方案3】:

    我一直在使用P4Merge,它是免费且跨平台的。

    【讨论】:

    • 这仍然免费吗?它似乎根本不是免费的。
    • 是的,仍然 100% 免费,但他们的下载页面隐藏了一点。
    • Daniel 说它是免费的,但是当您运行安装程序时,您需要禁用除“Visual Merge Tool”之外的所有选项。否则,它将提示您连接到 Perforce 服务器。与 SourceTree 配合得很好。
    • 安装后配置为合并工具,使用:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
    • 试图弄清楚如何使用您的链接下载 Windows 版本的 p4merge 似乎是一项艰巨的任务。我看不到清晰的下载链接。
    【解决方案4】:

    我不知道一个好的免费工具,但winmerge is ok(ish)。自 1999 年以来,我一直在使用 beyond compare 工具,但对它的评价还不够——它的成本约为 50 美元,而这项投资所节省的时间比我想象的要多。

    有时,如果工具非常非常好,就应该付费。

    【讨论】:

    • +1 用于提及付费选项。
    • winmerge 很糟糕。用户界面很难区分左右。
    • 我使用 WinMerge 多年,觉得它很棒。然后我切换到 git 进行版本控制,并且需要一个 GUI 来进行版本比较。首先,我尝试了 Meld,发现它很好,但功能不足。 Beyond Compare 为我解决了这个问题,我很乐意为此付费。
    【解决方案5】:
    • TortoiseMerge(ToroiseSVN 的一部分)比 kdiff3 好得多(我同时使用两者,可以比较);
    • p4merge(来自 Perforce)也很有效;
    • 漫反射还不错;
    • Diffmerge from SourceGear 在处理没有 BOM 的 UTF8 文件时只有一个缺陷,在这种情况下无法使用。

    【讨论】:

    • TortoiseGitMerge 实际上相当不错 - 我不知道 kdiff3,但在 TortoiseGitMerge 中从来没有不开心或错过任何事情,它让我可以非常快速和直观地进行二路和三路合并。跨度>
    • @mindplay.dk - TortoiseGitMerge(大部分)在底层是不错的 TortoiseMerge
    • TortoiseMerge 不支持 dir-diff
    【解决方案6】:

    另一个免费选项是 jmeld:http://keeskuip.home.xs4all.nl/jmeld/

    它是一个 java 工具,因此可以在多个平台上使用。

    但是(正如Preet 在他的回答中提到的那样),免费 并不总是最好的选择。我遇到过的最好的 diff/merge 工具是 Araxis Merge。标准版售价 99 欧元,不算贵。

    他们还提供了一个documentation 以了解如何将 Araxis 与 msysGit 集成。

    如果您想坚持使用免费工具,JMeld 非常接近 Araxis。

    【讨论】:

    • 我也听说过很多关于 Araxis 的好消息。
    【解决方案7】:

    使用 Git For Windows 有什么问题? 从 repo 视图中,有一个您所在分支的图标(在顶部),如果您单击管理,您可以以非常直观和方便的方式拖放。

    【讨论】:

    • 我认为问题是关于解决合并冲突。
    猜你喜欢
    • 2010-09-13
    • 2010-11-28
    • 2010-10-09
    • 2010-12-12
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多