在Git中查看和编辑合并的最佳工具是什么?我想得到一个3向合并视图,在单独的面板中有"我的","他们的"和"祖先",以及第四个"输出"面板.
此外,调用所述工具的说明也很棒.(我仍然没有弄清楚如何以这样的方式启动kdiff3,它不会给我一个错误.)
我的操作系统是Ubuntu.
Meld是差异/合并工具.
以下是如何安装它:
Ubuntu的
苹果电脑
Windows:"推荐的Meld for Windows版本是最新版本,可从http://meldmerge.org以MSI的形式获得"
您可以配置自己的合并工具以与" git mergetool
" 一起使用.
例:
git config --global merge.tool p4merge git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED' git config --global mergetool.p4merge.trustExitCode false
当你在它时,你也可以将它设置为" git difftool
" 的difftool :
git config --global diff.tool p4merge git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'
请注意,在Unix/Linux中,您不希望$BASE
shell将其解析为变量 - 它实际上应该出现在〜/ .gitconfig文件中以使其工作.
超越比较3,我最喜欢的,在 Pro版本中有一个合并功能.合并的好处是它可以让你看到所有4个视图:base,left,right和merged result.它的视觉效果不如 P4V,但比WinDiff更多.它集成了许多源代码控制,可在Windows/Linux上运行.它有许多功能,如高级规则,版本,手动对齐......
Perforce Visual Client(P4V)是一个免费工具,它提供了一个最明确的合并界面(参见一些截图).适用于所有主要平台.我对该工具的主要不满是它的 "只读"界面.您无法手动编辑文件,也无法手动对齐.
PS:P4Merge包含在P4V中.Perforce试图让没有客户的工具变得有点困难.
SourceGear Diff/Merge可能是我的第二个免费工具选择.检查合并屏幕拍摄,你会发现它至少有3个视图.
Meld是一个更新的免费工具,我更喜欢 SourceGear Diff/Merge:现在它也适用于大多数平台(Windows/Linux/Mac),具有本机支持某些源代码控制(如 Git)的独特优势.因此,您可以在所有文件上使用更简单的历史差异.合并视图(参见屏幕截图)只有3个窗格,就像 SourceGear Diff/Merge一样.这使得在复杂情况下合并更加困难.
PS:如果有一天工具支持5个视图合并,这真的很棒,因为如果你在Git中挑选提交你真的没有一个基础而是两个.两个基础,两个更改,一个合并.
我最喜欢的视觉合并工具是SourceGear DiffMerge
这是免费的.
跨平台(Windows,OS X和Linux).
清洁可视UI
您期望的所有差异功能(Diff,Merge,Folder Diff).
命令行界面.
可用的键盘快捷键.
我听到有关kdiff3的好消息.
vimdiff同时
一旦你学会了vim(和你应该的恕我直言),vimdiff只是一个更美丽的小正交概念来学习.要获得vim的在线帮助:
:help vimdiff
如果你在鼠标使用的黑暗时代陷入困境,并且你合并的文件不是很大,我推荐meld.
你可以试试P4Merge.
使用P4Merge可视化文件版本之间的差异.通过颜色编码解决由并行或并发开发引起的冲突.
功能包括:
突出显示和编辑文本文件差异
选择包括或忽略行结尾或空格
识别Windows(CRLF),Mac(CR)和Unix(LF)的行结束约定
使用命令行参数并从非Perforce应用程序启动
比较和合并文件时显示行号
排除已修改,唯一或未更改的文件
按名称或扩展名过滤文件
在熟悉的文件/文件夹层次结构中组织修改的资产
比较JPEG,GIF,TIFF,BMP和其他文件格式
使用Qt API扩展
叠加图像或并排显示
突出显示重叠图像的差异
IntelliJ IDEA具有复杂的合并冲突解决工具和Resolve魔棒,极大地简化了合并:
弥漫是我的最爱,但当然我有偏见.:-) 这是非常容易使用:
$ diffuse "mine" "output" "theirs"
Diffuse是一个用Python编写的小而简单的文本合并工具.使用漫反射,您可以轻松地合并,编辑和查看代码更改.漫反射是免费软件.
Araxis Merge http://www.araxis.com/merge 我在Mac OS X上使用它但我在Windows上使用它...它不是免费的...但它有一些不错的功能 ......更好虽然窗户.
如果你只是在寻找一个超越比较的差异工具,那就太好了:http://www.scootersoftware.com/moreinfo.php
您可以通过传递git mergetool -t=
或更改git mergetool使用的工具--tool=
.要更改默认值(来自vimdiff),请使用git config merge.tool
.