多种差异工具

2024-03-04

我已经设置了我的git使用 P4Merge 作为 diff 工具,如上所述here http://progit.org/book/ch7-1.html. So, git diff将触发 P4Merge。

然而,有时我发现使用 UNIXdiff更快、更高效(因为不涉及 GUI)。如何设置 git 以便可以轻松选择要触发的 diff 工具?这可能吗?例如:

$ git diff     # to trigger P4Merge
$ git difftool # to trigger UNIX diff

My git config --list:

code.editor=vi
merge.tool=p4merge
mergetool.extMerge.cmd=extMerge $BASE $LOCAL $REMOTE $MERGED
mergetool.extMerge.trustexitcode=false
diff.external=extDiff
mergetool.prompt=false
mergetool.keepbackup=false
mergetool.p4merge.path=/usr/local/bin/p4merge

您只需明确指出要使用哪个 difftool 即可。我的里面有这个~/.gitconfig:

[diff]
    tool = vimdiff

[difftool "winmerge"]
    name = WinMerge
    trustExitCode = true
    cmd = "/c/Users/rkasten/Google\\ Drive/Apps/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE

然后我有以下别名设置:

alias gdt='git difftool'
alias gdtw='git difftool --tool=winmerge'

使用 masukomi 的示例,您只需将以下内容添加到 gitconfig 中:

[difftool "Kaleidoscope"]
    cmd = ksdiff --whatevs

And use alias gdtk='git difftool --tool=Kaleidoscope'使用万花筒。

所有这些都在 git 2.7 中有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多种差异工具 的相关文章

  • 有没有办法缓存 https 凭据以推送提交?

    我最近转而将我的存储库同步到 GitHub 上的 https 由于防火墙问题 并且每次都要求输入密码 有没有办法缓存凭据 而不是每次都进行身份验证git push 自 Git 1 7 9 2012 年发布 以来 Git 中有一个巧妙的机制可
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • 在 github 上的 fork 中跟踪上游的最佳实践

    摘要 对于要维护一组本地更改的上游存储库 处理长期运行跟踪的最佳实践是什么 我想让 github 上的 fork 与上游保持同步 但仍然允许清晰跟踪 fork 特有的更改 对于本次讨论 假设upstream指向主项目存储库并且origin指
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • 使用终端时 Git 推送在总计后卡住了?

    我尝试将一些文件推送到Github 总大小只有22 2M 我不知道为什么它在总行之后卡住了 我读过推送到 Github 时 Git 推送挂起 https stackoverflow com questions 16906161 git pu
  • Spring Boot - YML 配置 - 合并时擦除条目

    我的应用程序有一个基本 YML 配置 在类路径中如下所示 hello world values bar name bar name description bar description foo name foo name descript
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载

随机推荐

  • 按哈希表中的值排序 - Ruby

    我有以下国家 地区哈希值 COUNTRIES Albania gt AL Austria gt AT Belgium gt BE Bulgaria gt BG 现在 当我输出散列时 值不是按字母顺序排列的 AL AT BE BG 而是按无意
  • 使用 jQuery,从跨域 url 访问 json,其中 json 可能格式不正确

    我正在使用 jQuery 的 ajax 函数来访问跨域 url url 将返回 json 我正处于发现阶段 但我认为 因为 json 值包含几个 quot 字符串 所以 json eval 会抛出错误并停止客户端脚本的执行 我得到的错误是
  • 使用 protobuf-net 序列化数组时如何处理空值?

    以下语句失败NullReferenceException TypeModel Create DeepClone new string 1 检查源代码发现异常是故意抛出的 这意味着null数组中的值违反了协议缓冲区规范 有道理 null不是任
  • Fabricjs intersectsWithObject 当对象为 Fabric.Rect 时返回 false

    我试图在观察 object moving 事件时确定fabric Rect何时与另一个fabric Rect重叠 但fabric Group与fabric Rect之间的结果不一致 当我将 Group 移动到 Rect 实例上时 inter
  • Mysql 闰年 Dayofyear

    在以下查询中 不考虑闰年 SELECT e id e title e birthdate FROM employers e WHERE DAYOFYEAR curdate lt DAYOFYEAR e birthdate AND DAYOF
  • ASP.NET Identity 用户名中的特殊语言字符

    我想使用一些特殊字符 例如 在用户名中 但我面临这个错误 IdentityResult result UserManager Create applicationUser password Error 用户名 test 无效 只能包含字母或
  • pygame 中 sys.exit() 的问题

    我正在学习使用 Pygame 当我使用sys exit 我遇到了一个问题 这是代码 import pygame sys os from pygame locals import pygame init window pygame displ
  • 仅当 r 中满足条件时,数据帧内的增量计数器

    我想创建一个累积增量计数器 仅在满足条件时才会增加 DT lt data table id c 1 1 1 1 1 1 1 2 2 2 b c 10L 5L 3L 4L 2L 6L 1L 3L 5L 7L 我没有得到想要的结果rleid因为
  • 将不同数据集与 R 中的堆积条形图进行比较

    我需要比较两种不同的方法 每种方法使用堆叠条形样式在一张图中有 3 个不同的结果 我想画一个图 以便 x 轴显示实验 y 轴显示结果 每个条形以堆叠条形格式填充 3 个结果 experiment method resuult1 result
  • 我的应用程序可以与 Moodle 通信吗?

    我正在考虑构建一个学生应用程序 它将使用 Moodle 数据 并在上传新文件时通知用户 也许还可以执行诸如检查成绩等操作 我对 Android 编程很陌生 很容易与技术术语混淆 我浏览了一下网络 发现有一个 API 但我并不真正 100 知
  • 使用 SMTPHandler 整理 Python 日志记录 MemoryHandler 中的输出

    我设置了日志记录模块 MemoryHandler 来对 SMTPHandler 目标的调试和错误消息进行排队 我想要的是当进程出错时发送一封电子邮件 其中包含截至该点的所有调试语句 每行一个 相反 我收到的是每条调试消息的单独电子邮件 这看
  • 在 HTML 中添加滚动条

    这是一个非常菜鸟的问题 我想我已经知道答案了 但是 您可以将滚动条添加到 div CSS div height 100px overflow auto jsFiddle http jsfiddle net alexdickson Wdj3M
  • Grafana 多值浮点 histogram_quantile

    嗨 我正在强制解决 histogram quantile 问题 如果我将变量设置为多值 这样我就可以重复面板 然后我收到错误消息 字符 21 处解析错误 意外字符 我的要求是 histogram quantile percentile av
  • 这两个查询之间的最佳实践

    我昨天参加了一个用户组会议 他们指出使用参数化查询比对查询进行编码更好 这让我开始思考 这是否有什么好处 显然规模比这大得多 DECLARE Client1 UNIQUEIDENTIFIER Client2 UNIQUEIDENTIFIER
  • 在 Mongoose 中使用连接和过滤器进行查询

    我是 Mongodb 的新手 并且在我使用 MEAN 堆栈构建的 Web 应用程序中使用它 我的目标是通过连接两个表并对它们应用过滤条件来查询它们 例如 我有两个表 自行车 自行车 ID 注册号 品牌 型号和预约 预约日期 状态 自行车 参
  • 样式属性与设置 ID 和外部 CSS

    我理解将所有表示元素保留在标记之外并将它们放入外部 css 文件中的概念 我想了解一下在什么类型的情况下您会认为使用样式属性与设置 ID 和外部 Css 是合理的 到目前为止 我已经经常使用 style 属性 我通常使用它来指定特定于该元素
  • 将直流电机添加到 Simscape 多体旋转关节

    我有以下直流电机模型和 2 轮机器人的 Simscape 多体模型 DC Motor with Torque Output Simscape Multibody Model of my Robot 我想控制机器人的速度 Simscape 多
  • yesod init 命令在 Windows 上不起作用

    我按照以下步骤安装 Yesod Web 框架 mkdir mypackage cd mypackage cabal update cabal sandbox init cabal install yesod platform yesod b
  • 从 Excel VBA 编辑 Outlook 电子邮件

    我有以下代码 可以成功使用在我的计算机本地保存的预制 Outlook 模板 文件名 并将 Active Excel 文档附加到其中 但是我想添加一些其他文本到电子邮件模板 以节省我复制和粘贴的时间 无论如何 是否可以将额外的正文文本添加到预
  • 多种差异工具

    我已经设置了我的git使用 P4Merge 作为 diff 工具 如上所述here http progit org book ch7 1 html So git diff将触发 P4Merge 然而 有时我发现使用 UNIXdiff更快 更