问题标签 [git-difftool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
287 浏览

git - 二进制文件上的 git difftool 可能吗?如果是这样,如何配置它?

我一直在关注这里这里关于如何在 git 中区分二进制文件的指南——更具体地说是 .odt 文件和 microsoft word 文件。

他们允许我$git diff <commit>在 .odt 文件和 microsoft word 文件上显示终端中的差异;但是他们的方法似乎不适用于$git difftool <commit>二进制文件,例如 .odt 文件或 .docx 文件。

理想情况下,我想在外部程序(例如来自 git 的 kdiff3 或 vimdiff )中显示 .odt 文件或 .docx 文件的文本差异。

这可能吗?有没有人能够在 git 的外部程序中正确显示二进制文件的文本?如果是这样,有关如何为二进制文件配置 difftool 的任何建议?

0 投票
1 回答
258 浏览

git - 如何使用 winmerge 作为 Linux 上安装的 git 的合并/差异工具

我已将 redhat 驱动器安装到 Z:/testGit/。

问题我可以使用 winmerge 对两个提交(即 9c88fb7 9c3da6c)进行比较吗?

0 投票
2 回答
1912 浏览

git - Beyond Compare 4 在 OSX 上作为 git difftool 在已经运行时失败

我最近改用 Beyond Compare 作为 OSX 上的 git difftool/mergetool。当 Beyond Compare 尚未运行时,它可以正常工作-git difftool A B按预期工作,A 出现在左窗格中,B 出现在右窗格中。

但是,如果 Beyond Compare 会话已打开,则相同的命令会导致左侧页面显示/Applications/Beyond Compare.app/Contents/Info.plist而右侧窗格为空白。这很烦人,因为我必须完全退出 BC 才能使下一个 difftool 会话正常工作,而且我还使用 BC 作为 SFTP 客户端与远程服务器同步文件。

我正在使用 Beyond Compare 4.1.2、git 2.6.3、OSX 10.11

我的 ~/.gitconfig 的相关部分(取自Scooter Software):

在哪里/usr/local/bin/bcomp -> /Applications/Beyond Compare.app/Contents/MacOS/bcomp

任何人都可以提出解决方案吗?

0 投票
1 回答
2901 浏览

git - 如何让 araxis merge 作为 git difftool 工作

我一直在尝试将 araxis 设置为 git difftool,但它从来没有用过。

我查看了这个线程,但它不完整:

如何配置 Araxis Merge 以与 Git 一起使用?

这是我的全局配置的一部分。

但是当我有一些未分级的更改并发出“git difftool”时,我得到了这个:

在此处输入图像描述

如果有人有一些提示,我将不胜感激!

谢谢!

0 投票
2 回答
2342 浏览

git - 为什么 git difftool 在发生冲突时不打开 vimdiff?

读完这篇文章后,我通过在 ~/.gitconfig 中添加以下行来配置 git 以使用 vimdiff 作为 diff/merge 工具:

git difftool仍然只是打印差异(没有 vimdiff)。有任何想法吗?

更新。 似乎git difftool工作正常,如果我在 repo 中有一些未提交的更改,即它按预期打开 vimdiff。但是,如果我git difftool在与冲突合并后打开 vimdiff,它将无法打开。任何想法为什么?

0 投票
0 回答
145 浏览

git - Git difftool 允许在双方进行更改

我想做一个git difftool在左侧和右侧进行更改。

假设我正在处理一个名为的分支,在该分支feature上我发现并纠正了一些外观问题,例如缩进或拼写错误。但是我不希望这些更改成为我最终合并的一部分,master因为它们不是已实现功能的一部分。

所以我通常做的是checkout -b small_fixes mastergit difftool feature。然后我导入该分支上的所有小改动,最后导入git rebase master && git branch -d small_fixes.

master现在我和和之间的差异要小得多features,所有这些差异都与该功能密切相关。它允许我在最终的git merge --squash feature.

这里的主要问题是git difftool master左侧有临时文件(master)。我可以对工作副本进行更改,但不能对主副本进行更改。所以如果我想改变双方,我需要两个不同的操作。

我想知道是否有一种工具可以允许将更改保存在临时文件上,然后保存在commitstash分支上。

请注意,这种情况也会出现在git difftool --dir-diff双方都是临时文件的过程中。

所以,问题是:我怎样才能difftool在双方都进行更改,然后同时提交这些更改?

0 投票
1 回答
56 浏览

git - 如何通过 git difftool 合并文件更改

我有另一个前端开发人员与我一起工作,他刚刚开始使用 Javascript。当他加快速度时,我想先复习一下他的代码。是否有可能当我合并他的分支时,每个更改的文件都会触发对 difftool 的调用,我可以在其中看到更改,根据需要进行修改,然后继续合并?我只是在寻找一个尽可能无缝和快速的工作流程。

我使用 diffMerge 作为工具,但也检查了 Kaleidoscope。

0 投票
1 回答
32 浏览

git - difftool - 只加载 1 个版本的 gitfile 而不是 2 个

我正在尝试使用INET PDFC作为 difftool 来比较不同版本的 pdf 文件。

配置文件

当我运行时,git difftool HEAD HEAD^ <filename>我只看到 1 个文件。

如何将这两个版本加载到此工具中?还是我应该使用 .bat 文件?如何?

0 投票
1 回答
228 浏览

git - Git difftool 无法区分两个分支

我试图用 diff 2 个分支

git difftool master..presentation

命令。我尝试了 Meld 和 vsdiffmerge 但由于某种原因它们不起作用。该命令所做的只是反复询问我是否要使用当前的 difftool 来区分文件。如果我输入'y',它会打开相应的程序,就是这样,没有实际的差异发生。在 Meld 中,它仅显示带有 3 个选项的开始屏幕,而在 Visual Studio 中,它向我显示了没有打开代码选项卡的默认窗口。

这是我当前的 .gitconfig:

请注意,在进行合并时 vsDiffMerge 工作正常,它只是不适用于差异。

只需使用控制台差异

工作得很好。

我使用最新版本的 Git、Meld 和 Visual Studio。有任何想法吗?

0 投票
1 回答
1270 浏览

git - 比较多个文件时可以中止 git difftool 吗?

我犯了一个巨大的错误。

我已经配置git difftool为使用vimdiff,然后我执行了一个比较整个存储库的命令:

git difftool tag1 tag2

现在 difftool 为每个已更改的文件以 diff 模式启动 vim。当我关闭 vim 时,它会与下一对文件一起再次启动。一般来说,这就是我想要的,但是如果队列中的文件太多,我可以以某种方式中止这个过程吗?我知道我可以关闭终端,但有更好的方法吗?