每个命令重置外部差异工具

2024-04-27

我最近安装了一个新的差异工具(差异性的 https://github.com/Wilfred/difftastic),这扰乱了我将差异复制到剪贴板(或文件)以发送这些内容的习惯:

[diff]
    external = difft # As per https://difftastic.wilfred.me.uk/git.html
                                | what I want | what I get |
                                | ----------- | ---------- |
$ git diff                      | difft       | difft      |
$ git diff > some-file          | git diff    | difft      |
$ GIT_EXTERNAL_DIFF= git diff   | git diff    | error      |

我的最终目标是拥有一个命令,我可以向其传递常用的 git diff 参数并获取原始命令(类似于git diff --internal基本上。

最终,我将向上游提供 difftastic 并提供 PR 修复(例如,如果通过管道传输,difftastic 默认使用 git),但我几乎可以肯定我没有正确理解 gitdiff.external https://git-scm.com/docs/git-config#Documentation/git-config.txt-diffexternal and difftool*配置。我不知道如何重置diff.external每个命令


感谢马特对这个问题的评论,我找到了部分解决方案:

git diff --no-ext-diff

但我确信有更干净的解决方案可以更好地在 git diff 之间进行选择,因此使用普通补丁或 git diff 不是因此做的事情。

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

每个命令重置外部差异工具 的相关文章

  • Git 与 master 合并,无需签出 master

    每次我需要的时候merge develop with master I do git checkout master git merge develop 有时我忘记切换出去master 因此 我在运行时错误地更改了代码master 它可能会
  • 无法验证主机真实性

    我第一次做git pull 在git中提示无法确定主机的真实性 与我生成的私钥相比 RSA密钥指纹不正确 我只是想知道如何更新它以便它读取正确的文件以及为什么它首先读取错误的指纹 我遇到了类似的问题 这意味着远程主机未知 不受信任 修复方法
  • 无法通过 HTTPS 克隆私有 Github 存储库

    我在通过 HTTPS 克隆私有 GitHub 存储库时遇到问题 如果我尝试使用以下方式克隆我的存储库 git clone https github com username repository 我收到错误 fatal remote err
  • 为 3 人团队设置 Git?

    这篇文章的目的是总结所有信息 为 3 人参加比赛建立一个封闭的存储库 请随意将我没有注意到的问题添加到列表中 请将每个问题的每个答案添加为单独的答案 情况一 草稿和文件可以在3人之间交换 这 writer 只能将文件推送到 存储库 情况B
  • 如何使用 jenkins shell 创建新的 git 分支

    我想达到以下目标 在某些詹金斯工作中 从 dev branch 创建一个新分支 对新创建的分支 new branch 进行一些更改 将新创建的分支推送到 git repo 我在詹金斯中执行了以下步骤 我已经在 源代码管理 部分配置了我的 g
  • 变基后无法推送到分支

    我们使用 git 并有一个 master 分支和开发人员分支 我需要添加一个新功能 然后将提交重新设置为 master 然后将 master 推送到 CI 服务器 问题是 如果我在变基期间发生冲突 我无法在变基完成后推送到我的远程开发人员分
  • BitBucket+Jenkins:仅在特定分支更改时触发构建

    以下是该问题的据称解决方案 尽管它看起来确实是一种解决方法 而不是最终的解决方案 有没有一种方法 通过作业配置或 bitbucket 挂钩配置 我可以将作业设置为仅在推送到特定分支时运行构建 是否可以仅从一个特定分支触发 Jenkins h
  • 如何删除“致命:松散物体”?

    我的一个克隆存储库是从 git fsck 获取的 致命 松散对象 40bda4e3b79c3d7bf598df31d9e68470f97a3f79 存储在 git objects 40 bda4e3b79c3d7bf598df31d9e68
  • 如何列出当前正在验证的拉取请求中更改的所有文件(在 VSTS 中)?

    我有一个 PR 验证版本 我想列出 PR 中更改的所有文件以及状态 源在每个构建上同步 因此 在合并 PR 更改之前 源位于修订版A 通常origin master 让我将 PR 合并提交指定为B 我当前的实现调用git diff tree
  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过
  • 让“git pull”在拉取不同分支时要求确认

    当同时处理许多项目和分支时 我偶尔会犯一些愚蠢的错误 比如拉入错误的分支 例如在分支上master I did git pull origin dangerous code并且有一段时间没有注意到这一点 这个小错误造成了很大的混乱 当我尝试
  • 有什么方法可以有效地应用大型 git 补丁吗?

    我们收到了一个大补丁 修改了大约 17000 个文件 其大小为5 2G 应用补丁时git apply 3 12个小时后还没有完成 我们将每个文件的补丁分成更小的补丁 然后一一应用它们 这样至少我们可以看到进度 再次卡在一个文件补丁上 仍然有
  • 在 github 上查找强制推送的提交者

    在我们的项目 托管在 GitHub 上 中 每隔一段时间就会有人意外强制推送 master 没有人知道是否这样做 我想找出是谁干的 以及背后有什么样的错误配置的工具或坏习惯 那么问题来了 如何识别进行强制推送的用户呢 当我拉动时 我看到这样
  • 从历史记录中删除不需要的文件,包括带有过滤分支的所有引用

    我最近克隆了一个 SVN 存储库 其中曾经有一些二进制文件 但不再需要了 不幸的是 我已经将它和包含的二进制文件推送到了 Github 我现在想使用 git filter branch 删除它们 但在标签和分支方面我遇到了一些问题 基本上
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • 提交 ID 从哪里来?

    我只是对此很好奇 提交 ID 不能是随机的 因为它们需要是唯一的 不过 它们似乎是随机的 这让我想知道 为什么它们不只是连续的数字 我的意思是 它们只需要在存储库中是唯一的 对吧 或者我在这里错了 Thanks Git 提交 ID 是 SH
  • 在 VS Code 中找不到 Git

    由于某种原因 我在 Windows 10 笔记本电脑上运行的 VS Code 中找不到 Git 在我的 Mac 上 当你一直向下滚动时 用户默认设置 中会出现一个 Git 但在我的 Windows 10 笔记本电脑上 它根本不存在 源代码管
  • VIM - 显示上次保存版本和当前未保存版本的差异[重复]

    这个问题在这里已经有答案了 可能的重复 在 Vim 中保存文件之前我可以看到更改吗 https stackoverflow com questions 749297 can i see changes before i save my fi
  • git 无法暂存文件,将所有文件显示为重复,但字符大小写不是问题

    就我而言 我对我的文件之一进行了简单的一项更改 并想提交我的更改 但注意到 commit am 没有添加 提交该文件 发出 git 后ls files stage 我看到项目中的所有文件可能都显示为重复项 这是其中一个文件的示例 10064
  • 有时 git 告诉我每个文件都是新的且未暂存?

    我将对文件进行更改 转到 Windows UI 的 GitHub 提交我的更改 然后点击同步按钮 然后它说错误 尝试使用 shell 代替 所以我进入 shell 并输入git status 它告诉我存储库中的每个文件都是新的且未暂存 大约

随机推荐