如何在 git 上执行 3 向视觉差异?

2023-12-22

我想对存在于 2 个不同分支中的单个文件进行 3 路比较,即每个分支中的最后一次提交,并考虑共同的祖先。 我想使用一个允许进行三向比较的外部工具。 我正在考虑使用 git difftool,但据我所知,它只允许比较给定文件的任何两个版本。 我可以使用 mergetool,但这迫使我首先运行 git merge,以便设置 BASE、REMOTE 和 LOCAL 变量。我不想运行 git merge。我只想首先进行 3 路比较,以查看两个分支中的文件在考虑到其共同祖先时所做的更改。

是否可以选择使用 difftool 或 mergetool 来完成我需要的操作? 谢谢


一种解决方案是视觉diffuse http://diffuse.sourceforge.net/它可以直接操作 git 修订版本并支持 n 路视图。

例如,您可以在文件的不同分支之间打开三向差异:

diffuse -r master -r HEAD -r upstream file.txt

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

如何在 git 上执行 3 向视觉差异? 的相关文章

  • 签入时 git-tf 告诉我“无法锁定”;我该如何修复它?

    我正在使用 git tf 推送到 TFS 项目 有时 当我尝试检查 TFS 中的一个或多个提交时 我会收到如下消息 正在连接到 TFS 签入 MyProject 0 git tf 无法锁定 MyProject 这是什么意思 是什么让我无法锁
  • 错误:获取远程存储库“origin”时出错,返回状态代码-1:

    我在 Windows 上运行 Jenkins 当我尝试通过 jenkins 构建我的项目时 出现以下错误 git exe c core askpass true fetch tags progress
  • 无法验证主机真实性

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

    Subversion 几年前就很流行 现在 git 也开始流行 越来越多的人想用 git 取代 Subversion 问题是很多项目都是基于 Subversion 的 所以问题是如何将 git 与 Subversion 一起使用 不要完全取
  • 即使在签出到另一个分支后也无法删除本地分支

    我正在尝试删除我的本地分支并尝试了我在这里找到的大多数解决方案 即签出到另一个分支然后运行git branch D or d
  • git-svn 期间“RA 层请求失败:REPORT 请求失败”

    我一直在尝试使用以下命令 Git 克隆 Google Code SVN 存储库 git svn clone stdlayout https wtorrent project googlecode com svn wtorrent git 它
  • 图表贡献者为空

    我在 github 上有几个项目 但其中一些项目的贡献者图是空的 即使我的 gitconfig 设置了名称和电子邮件 https github com jlengrand batchWaterMarking graphs contribut
  • 如何列出当前正在验证的拉取请求中更改的所有文件(在 VSTS 中)?

    我有一个 PR 验证版本 我想列出 PR 中更改的所有文件以及状态 源在每个构建上同步 因此 在合并 PR 更改之前 源位于修订版A 通常origin master 让我将 PR 合并提交指定为B 我当前的实现调用git diff tree
  • 获取引用而不下载对象[重复]

    这个问题在这里已经有答案了 我想检查 origin master 是否与我的 HEAD 不同 I do not想要git fetch 因为它可能非常昂贵 我滥用 git 的方式使得成本高得令人望而却步 任何允许我从远程获取提交列表或顶部提交
  • 我可以用一个命令销毁并重新创建 Git 远程分支吗?

    在 Git 中 我有时会在长期运行的分支上工作 我喜欢时不时地重新建立 master 基础 以便在准备好时使合并变得更容易 变基后 我无法将先前推送的分支推送到远程 因为我的分支的历史记录不再与该分支的远程历史记录一致 所以我必须先删除它
  • git-http-backend 与 AuthzUnixGroup 无法正常工作

    我正在尝试在 CentOS 6 机器上的 Apache 2 2 上设置一个 git 存储库 并安装了 git 我尝试过许多不同的方向 但我却不知所措 我目前的情况包括能够clone正常 但完全无法推动 似乎我无法使身份验证位正常工作 因为我
  • 有什么方法可以有效地应用大型 git 补丁吗?

    我们收到了一个大补丁 修改了大约 17000 个文件 其大小为5 2G 应用补丁时git apply 3 12个小时后还没有完成 我们将每个文件的补丁分成更小的补丁 然后一一应用它们 这样至少我们可以看到进度 再次卡在一个文件补丁上 仍然有
  • GitHub Web UI 中的“base”和“head”存储库是什么?

    GitHub 的 UI 相当不直观且考虑不周 所以这里有一个问题 什么是 头 回购 什么是 基础 回购 不知道是从哪一个抄来的 基础 和 头部 这两个词的意思是相同的 链表的 头 类似于树的 基 GitHub 有叉树和文件树 Head 和
  • 从历史记录中删除不需要的文件,包括带有过滤分支的所有引用

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

    我必须automate克隆存储库并获取它的所有子模块 存储库子模块的 url 指定于 gitmodules 如果我要使用默认值 我就会这样做 git clone recursive https username email protecte
  • 通过 SFTP 克隆 Git 存储库

    每次我尝试克隆 Git 存储库时都会遇到致命错误 我运行这个 git clone sftp email protected cdn cgi l email protection git foobar git 我得到这个 fatal Unab
  • Github README.md 和 readme.md - 如何删除其中一个?

    不知何故 我最终在 github 上有了 README md 和 readme md 现在这两者相互影响 所以我的 GitHub app 完全混乱了 Github网站没有任何文件删除功能 如何删除这些文件之一 只需删除其中一个文件并提交删除
  • git-daemon 的日志保存在哪里? (Windows 上的 Git 使用 Cygwin)

    我正在将 git daemon 作为 Windows 服务运行 使用创建进程 服务中使用的命令是 git daemon reuseaddr base path data test work export all verbose enable
  • 有时 git 告诉我每个文件都是新的且未暂存?

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

    在某个文件夹中 我有名为foo jpg bar png等等 我想将它们保留在版本控制中 除了那些命名为1 baz png 2 zaz jpg等 因为它们实际上是生成的 我应该添加什么条目 gitignore 正则表达式如 0 9 似乎不起作

随机推荐

  • React 警告:列表中的每个子项都应该有一个唯一的“key”道具。在 render() 函数中[重复]

    这个问题在这里已经有答案了 我正在调用一个 API 端点 将其数据保存到一个状态 然后渲染它 它显示在浏览器中 但控制台上有警告 Warning Each child in a list should have a unique key p
  • 从字符串中删除元素后如何跟踪字符位置?

    假设我有以下字符串 my dog jumps and he is a very good dog 1234567890123456789012345678901234567890123456789012345678901 lt char p
  • 为什么我需要在单引号中转义美元符号?

    在 PowerShell 中 单引号中的字符串应该忽略其中的特殊字符 但是如果我使用的话为什么我需要转义美元符号 match Src SOMETHING Good Src Good returns string as is Src matc
  • SAML:即使用户有 IDP 会话,是否也可以强制用户完成登录过程

    在 SAML 中 即使用户有活动的 idp 会话 是否也可以强制用户每次都执行 idp 的登录过程 在这里举一个具体的例子 我们将我的应用程序命名为 SP 我使用 SSOCirecle 作为 idp 并使用 POST 和重定向 SP 发起
  • python上的并行执行和文件写入

    我有一个非常大的数据集 分布在 10 个大集群中 任务是对每个集群进行一些计算 并将结果逐行写入 附加 到 10 个文件中 其中每个文件包含与 10 个集群中的每个集群相对应的获得的结果 每个集群都可以独立计算 我想将代码并行化到十个CPU
  • 侧边栏折叠一秒钟并在页面加载时展开

    我有一个侧边栏 单击按钮即可展开或折叠 现在我已经成功地将它的状态存储在localStorage除了有一个小问题之外 它工作正常 当页面加载并且没有保存状态时localStorage 侧边栏collapses一瞬间expands Expan
  • 在 WCF 中,超时是否会导致通道故障?

    在 WCF 中 请求 响应操作超时是否会导致客户端通道出现故障 如果服务器发送响应超时 是否是服务器端通道出现故障 是的 超时会导致通道出现故障 而且总是只有one连接客户端和服务器的通道 服务器没有自己的通道 你基本上有 Client T
  • 为什么我的 Javascript 音频在刷新页面后不起作用?

    我的 javascript 中有一个音频对象并调用了 play 函数 当我第一次进入该页面或通过其他页面的链接进入该页面时 它工作正常 但是当我在带有音频的页面上并且只想刷新页面时 我会收到音频错误 Uncaught in promise
  • 按多个值过滤对象数组

    我希望能够通过多个搜索词过滤一个对象来创建一个新的对象数组 Example const arr city Atlanta state Georgia city Chicago state Illinois city Miami state
  • 从网站加载数据作为字符串(Android)

    我知道如何使用 WebView 在 Android 中加载网站内容 webview loadUrl http slashdot org 我怎样才能将网站的内容放入字符串变量中 在我想将此字符串解析为 XML 之后 但这是下一个问题 以下是对
  • 使用 javascript 函数渲染 HTML

    我有一个静态页面login and registration链接 我希望当用户点击时Login 它调用一个Javascript函数依次显示Login Form在同一页上 虽然我可以将整个 HTML 标签嵌入document write 但这
  • 正浮点数的正则表达式

    例如 10 0 1 1 23234 123 1230 000001 1 000 3 以及错误的例子 0001 2 12 1 01 2 3 EDIT 标准 JavaScript 正则表达式 在这里试试这个 1 9 d 0 d See it 在
  • Dotnet Core 3.1:如何使用具有文件绝对路径的 AddJsonFile?

    我有一个 dotnet 应用程序 我需要从两个相对路径 常规路径 中提取配置appsettings Json appsettings Development json 并且还可以从绝对路径 config appsettings json 我
  • 如何在特定时间执行循环

    我如何在指定的时间内执行特定的循环 Timeinsecond 600 int time 0 while Timeinsecond gt time do something here 我如何在这里设置时间变量 如果我可以使用 Timer 对象
  • 检查发件人电子邮件地址

    我的 Outlook 框中有一个 VBA 侦听器 用于在收到来自特定电子邮件的邮件时执行操作 问题是 如果我收到错误邮件 未送达电子邮件 那么我的条件是在不具有该属性的邮件上运行 因此我的方法崩溃 我也不知道主题是什么 有谁知道我是否可以测
  • 泛型 在 C# 中不起作用,即使运行没有任何错误

    我正在使用 Silverlight 5 VS 2010 创建一个 C Web 应用程序 首先 我创建了控制台应用程序 一切正常 但是当我在网络应用程序中执行此操作时会出现问题 即使在网络应用程序中 它对于特定的设置数据类型也能正常工作 例如
  • 旧版本的 spring boot 无法在 Java 11 上启动

    我正在使用 spring boot 应用程序的 1 4 1 RELEASE Java 8 一切正常 但是 当我将 java 版本更新到 11 时 我无法使用命令运行应用程序mvn clean spring boot run 同时我可以打包成
  • 覆盖getter只需要@synthesize

    我想覆盖惰性实例化的 getter 并保留默认的 setter 我需要 synthesize 吗 Why interface Foo property strong nonatomic NSObject bar end implementa
  • 表达式/语句树

    进一步更新问题 我一直在尝试使用 NET 4 中的表达式树在运行时生成代码 并且我一直在尝试实现foreach通过构建表达式树来声明 最后 表达式应该能够生成执行此操作的委托 Action
  • 如何在 git 上执行 3 向视觉差异?

    我想对存在于 2 个不同分支中的单个文件进行 3 路比较 即每个分支中的最后一次提交 并考虑共同的祖先 我想使用一个允许进行三向比较的外部工具 我正在考虑使用 git difftool 但据我所知 它只允许比较给定文件的任何两个版本 我可以