在Git中查看和编辑合并的最佳工具是什么? 我想得到一个3向合并视图,在单独的面板中有“我的”,“他们的”和“祖先”,以及第四个“输出”面板。

此外,调用所述工具的说明也很棒。 (我仍然没有弄清楚如何以这样的方式启动kdiff3,它不会给我一个错误。)

我的操作系统是Ubuntu。


#1楼

gitx http://gitx.frim.nl/

使用大型提交集时会出现一些错误,但非常适合浏览更改并选择不同的更改进行分段然后提交。


#2楼

你可以试试P4Merge 。

使用P4Merge可视化文件版本之间的差异。 通过颜色编码解决由并行或并发开发引起的冲突。

功能包括:

  • 突出显示和编辑文本文件差异
  • 选择包括或忽略行结尾或空格
  • 识别Windows(CRLF),Mac(CR)和Unix(LF)的行结束约定
  • 使用命令行参数并从非Perforce应用程序启动
  • 比较和合并文件时显示行号
  • 排除已修改,唯一或未更改的文件
  • 按名称或扩展名过滤文件
  • 在熟悉的文件/文件夹层次结构中组织修改的资产
  • 比较JPEG,GIF,TIFF,BMP和其他文件格式
  • 使用Qt API扩展
  • 叠加图像或并排显示
  • 突出显示重叠图像的差异

#3楼

我最喜欢的视觉合并工具是SourceGear DiffMerge

  • 这是免费的。
  • 跨平台(Windows,OS X和Linux)。
  • 清洁可视UI
  • 您期望的所有差异功能(Diff,Merge,Folder Diff)。
  • 命令行界面。
  • 可用的键盘快捷键。


#4楼

Meld是差异/合并工具。

以下是如何安装它:

  • Ubuntu的
  • 苹果电脑
  • Windows :“推荐的Meld for Windows版本是最新版本,可从http://meldmerge.org以MSI的形式获得”

#5楼

我听到有关kdiff3的好消息。


#6楼

如果你只是在寻找一个超越比较的差异工具,那就太好了: http : //www.scootersoftware.com/moreinfo.php


#7楼

您可以配置自己的合并工具以与“ git mergetool ”一起使用。

例:

  git config --global merge.tool p4mergegit config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'git config --global mergetool.p4merge.trustExitCode false

当你在它的时候,你也可以将它设置为“ git difftool ”的git difftool

  git config --global diff.tool p4mergegit config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

请注意,在Unix / Linux中,您不希望shell将$BASE解析为变量 - 它应该实际出现在〜/ .gitconfig文件中以使其工作。


#8楼

Araxis Merge http://www.araxis.com/merge我在Mac OS X上使用它但我在Windows上使用它...它不是免费的...但它有一些不错的功能 ......更好虽然窗户。


#9楼

您可以通过传递git mergetool -t=<tool>--tool=<tool>来更改git mergetool使用的--tool=<tool> 。 要更改默认值(从vimdiff),请使用git config merge.tool <tool>


#10楼

弥漫是我的最爱,但当然我有偏见。 :-) 这是非常容易使用:

$ diffuse "mine" "output" "theirs"

Diffuse是一个用Python编写的小而简单的文本合并工具。 使用漫反射,您可以轻松地合并,编辑和查看代码更改。 漫反射是免费软件。


#11楼

您可以在Linux,Mac或Windows上安装ECMerge diff / merge工具 。 它是在Git中预先配置的,所以只需使用git mergetool完成这项工作。


#12楼

超越比较3 ,我最喜欢的,在Pro版本中有一个合并功能。 合并的好处是它可以让你看到所有4个视图:base,left,right和merged result。 它的视觉效果不如P4V,但比WinDiff更多。 它集成了许多源代码控制 ,可在Windows / Linux上运行。 它有许多功能,如高级规则,版本,手动对齐......

Perforce Visual ClientP4V )是一个免费工具,它提供了一个最明确的合并界面(参见一些截图 )。 适用于所有主要平台。 我对该工具的主要不满是它的“只读”界面 。 您无法手动编辑文件,也无法手动对齐。

PS:P4Merge包含在P4V中。 Perforce试图让没有客户的工具变得有点困难。

SourceGear Diff / Merge可能是我的第二个免费工具选择。 检查合并屏幕拍摄 ,你会发现它至少有3个视图。


Meld是一个更新的免费工具,我更喜欢SourceGear Diff / Merge :现在它也适用于大多数平台(Windows / Linux / Mac),具有本机支持某些源代码控制(如Git )的独特优势。 因此,您可以在所有文件上使用更简单的历史差异。 合并视图(参见屏幕截图 )只有3个窗格,就像SourceGear Diff / Merge一样 。 这使得在复杂情况下合并更加困难。

PS:如果有一天工具支持5个视图合并 ,这真的很棒,因为如果你在Git中挑选提交你真的没有一个基础而是两个。 两个基础,两个更改,一个合并。


#13楼

vimdiff同时

一旦你学会了vim(和你应该的恕我直言),vimdiff只是一个更美丽的小正交概念来学习。 要获得vim的在线帮助:

:help vimdiff

这个问题涵盖了如何使用它: 如何使用vimdiff解决冲突?

如果你在鼠标使用的黑暗时代陷入困境,并且你合并的文件不是很大,我推荐meld。


#14楼

IntelliJ IDEA具有复杂的合并冲突解决工具和Resolve魔棒,极大地简化了合并:


#15楼

如果您使用visual studio ,Team Explorer内置工具是解决git合并冲突的一个非常好的工具。


#16楼

所以对于git merge,你可以尝试:

  • DiffMerge可在Windows,OS X和Linux上直观地比较和合并文件。

  • Meld ,是一个视觉差异和合并工具。

  • KDiff3 ,一个差异和合并程序),它比较或合并2或3个文本输入文件/目录。
  • opendiff (macOS上的Xcode Tools的一部分),一个命令行实用程序,它从终端启动FileMerge应用程序,以图形方式比较文件或目录,包括合并 。

#17楼

我已经尝试了很多这里提到的工具,但没有一个是我正在寻找的。

就个人而言,我发现Atom是一个可视化差异和冲突解决/合并的好工具。

至于合并,没有三个视图,但它们全部合并为一个,每个版本都带有彩色突出显示。 您可以直接编辑代码,也可以使用按钮来使用您想要的任何版本的代码段。

我甚至不再使用它作为编辑器或IDE,只是为了使用git。 清洁用户界面,非常直接,而且可以高度自定义。

  • 您可以从命令行启动它并传入要打开的单个文件,或添加项目文件夹(git repo)。

    • 我还建议使用项目管理器作为在项目之间导航而不填满树视图的非常方便的方法。
  • 我唯一的问题是刷新 - 当处理大型存储库时,原子可能很慢,无法更新您在其外部所做的更改。 我只是在我完成时总是关闭它,然后当我想再次查看我的更改/提交时重新打开它。 您也可以使用ctrl + shift + f5重新加载窗口,这只需要一秒钟。

它当然是免费的。


#18楼

我使用不同的工具进行合并和比较:

git config --global diff.tool diffuse
git config --global merge.tool kdiff3

拳头可以通过以下方式调用:

git difftool [BRANCH] -- [FILE or DIR]

第二个是在使用git mergetool时调用的。

什么是Git最好的视觉合并工具? [关闭]相关推荐

  1. Git下使用Beyond Compare作为比较和合并工具

    转载自:http://blog.csdn.net/zzqhost/article/details/7298405 Git下使用Beyond Compare作为比较和合并工具 建议配置在~/.gitco ...

  2. 冲突杀手meld -- git使用meld作为对比或合并工具_zhou

    git 使用meld 作为 对比或合并工具 @author: 荒野无灯@80x86.io @date: 2017-06-06 meld 下载: http://meldmerge.org/ github ...

  3. 代码合并工具_分享几款比较常用的代码比较工具

    俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界.工欲善其事,必先利其器,每一位程序员都有自己私藏 ...

  4. 代码合并工具_作为程序员你必须知道的几款代码比较工具

    在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍几款程序员常用的代码比较工具. WinMerge WinMerge是一款运行于Windows系统下的文件比较和 ...

  5. 【Git从青铜到王者】第四篇:Git的分支与合并

    系列文章目录 文章目录 系列文章目录 前言 一.Git分支 1.Git分支简介 2.Git分支创建 3.Git分支切换 二.Git分支的新建与合并 1.新建分支 2.分支的合并 3.遇到冲突时的分支合 ...

  6. git创建分支,合并分支,常用命令

    本文非原创, 来源于:点击这里 这篇文章写得非常全面,而且通俗易懂,本文详细的介绍了:git如何创建分支,如何合并分支,如何管理分支,如何解决冲突. Git 分支 几乎每一种版本控制系统都以某种形式支 ...

  7. SVN之初恋与小三Meld优秀分支合并工具

    今天小宝鸽分享一篇SVN入门教程,比较适合刚接触SVN的猿友阅读. 另外分享一个优秀的分支合并工具Meld,对SVN使用比较熟练的猿友们也可以了解一下咯. 接下来将从下面几个维度向大家介绍: (1)S ...

  8. git 新建分支并切换到该分支_git切换到指定分支,git新建分支与合并

    一,git切换到指定分支 使用git进行开发的时候经常会遇到需要切换远程分支并且提交到远程指定分支的情况,操作如下 1,查看远程所有分支 git branch -a git branch不带参数,列出 ...

  9. 图解Git:一个软件配置管理工具(简介)

    1.    Git 是由linux内核的开发者linus Torvalds于2005年发行的软件配置管理工具,用于管         理软件进化过程中的变化. 2.    Git 仓库: (1)由三个 ...

最新文章

  1. [转载]在SQL Server数据库之间进行数据导入导出,OPENDATASOURCE
  2. synchronized关键字原理
  3. Intel Developer Forum 2010英特尔信息技术峰会第二天小记
  4. 使用程序创建数据库表
  5. 数组不能将数值传给int_java数组查找常见情况
  6. python time模块
  7. 牵引力教育就业数据显示:很多大学毕业就等于失业?
  8. mysql常用语句和函数
  9. word2vec相关资料
  10. 设计模式(6)——抽象工厂模式(Abstract Factory Pattern,创建型)
  11. Baxter实战 (二)ubuntu14.04安装Baxter Workstation
  12. 学校为什么要单位接收函_学校让我签三方,居然是因为···
  13. input 输入法禁用
  14. 输入两个正整数m和n,求其最大公约数及最小公倍数
  15. 珠海市世鸿置业有限公司5周年线下交流会带你学会用基金理财
  16. 第二弹!python爬虫批量下载高清大图
  17. 关于什么是大数据智能决策!摘自《大数据智能决策》自动化学报
  18. python的星号(*)和双星号(**)运算符的使用
  19. 2021-2022学年广州市执信中学九年级第一学期12月考英语试题
  20. Delphi RAD Studio 10.4.2 Sydney的新增与改进介绍(上)

热门文章

  1. 参数展示初始三层架构
  2. 2012-09-16-html
  3. 【2012百度之星资格赛】E:C++ 与Java
  4. 参加博客大赛,多谢大家支持
  5. 如何在本机使用正式版的SAP Business One的Common库的Lisence服务
  6. 实训以来,到这里的次数少了!
  7. Windows Mobile下猜数字游戏的TDD实现
  8. [Python]从哪里开始学习写代码(未完待续)
  9. Window系统 安装TFLearn
  10. docker技术之基本命令