问题标签 [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 投票
26 回答
477567 浏览

git - 如何使用我喜欢的差异工具/查看器查看“git diff”输出?

当我输入 时git diff,我想使用我选择的视觉差异工具(Windows 上的 SourceGear “diffmerge”)查看输出。我如何配置 git 来做到这一点?

0 投票
2 回答
12977 浏览

git - 使用 Git 插件时 Visual Studio 中的差异工具

微软为 Visual Studio 2012 发布了一个 Git 插件。我发现它非常好,但似乎没有任何选项可以更改默认的 Diff 工具。更糟糕的是,我根本无法对 ascx 代码隐藏文件进行比较。它仅显示主 .ASCX 文件的差异选项。

你怎么

  1. 使用 git 插件时区分代码隐藏文件?
  2. 更改差异工具?
0 投票
1 回答
188 浏览

git - git difftool 生成的“lindex”、“rindex”和“wtindex”文件是什么?

当我运行时:

它创建一个临时目录,其中包含要在 diff 中显示的文件。结构如下所示:

“左”和“右”目录清晰。但是“lindex”和“rindex”文件是什么?它们包含什么?我如何查看它们?有时没有“rindex”而是“wtindex”文件。

0 投票
1 回答
1942 浏览

git - 配置多个 git mergetool 和 difftool 以便根据扩展选择合适的工具

当我执行 git difftool 时,它会递归地为所有文件运行默认的 difftool。我编写了一个脚本来根据扩展名选择合适的 difftool,我在脚本中调用 git difftool -t mytool 。difftool 将所有参数重定向到新调用,这很好。但是,它也会以某种方式重定向所有文件名。所以基本上,我的脚本变得无用,因为自定义 difftool 与所有更改的文件一起传递。

我想要做的是,将 difftool 限制为一个文件,或者至少用一个文件调用我的 difftool,而不是其余文件。基本上,这是我的脚本,我将它作为 .gitconfig 中的默认 difftool。

0 投票
0 回答
1121 浏览

windows - git difftool 超越比较 - 可以从差异编辑文件吗?

我在 Windows 上使用 Beyond Compare 4 (beta) 作为 git 中的 difftool。

以下是设置:

我正在使用此命令将当前的本地更改(包括未提交/未暂存的更改)与分支的起点(与分支分歧的位置develop)进行比较

这将打开一个包含所有已更改文件的目录差异。当我双击一个文件时,它会在新选项卡中打开文件差异。

我希望能够编辑当前本地版本的“右侧”文件。问题是显示的实际文件是 git 为 Beyond Compare 创建的文件的临时副本以显示差异(并且在我关闭 BC 窗口后将被删除)。

但是,在进行单个文件比较时,如下所示:

差异的“右侧”显示文件的实际本地版本,可以编辑。

有什么方法可以告诉 git 在某些东西和本地版本之间进行 dir-diff 时,打开实际的本地文件而不是创建临时副本?

我的目标是能够从 BC dir-diff 内部编辑和保存文件。

0 投票
1 回答
79 浏览

macos - Git diff 与 textutil

我想将 .doc 或 .docx 文件与git diffusing进行比较textutil。例如:textutil 'Hello.doc' -convert txt -stdout。但是我不知道如何在不编写新的 git difftool 的情况下将其放入带有参数的配置文件中。我也尝试使用 catdoc,但意识到它不适用于 .docx。想法?

0 投票
1 回答
651 浏览

git - 将本地 Git 更改导出到某个 diff 文件中以供外部查看

在 Git 中将我的本地更改保存为某种文件格式以便其他人可以在我提交之前查看它的最佳方法是什么?我知道这样做的一种方法是使用git stash save -p其他人可以查看补丁文件。但是,我想知道是否有更好的方法,例如这样的方法会很好:

git diff save > myfile

0 投票
2 回答
1073 浏览

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

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

是否可以使用 difftool 或 mergetool 来做我需要的事情?谢谢

0 投票
1 回答
657 浏览

git - git difftool -d to view difference between two historic commits

I'm trying to do something which I think should be simple. I have two old commits in the log, X and Y (where X and Y are commit hashes). I want to see a visual, Directory representation of the differences between the two commits, so I run:

git difftool -d X Y

But this gives me a large number of differences which are not between the two commits.

If I create a brach b1 from X and a branch b2 from Y, then the command works as expected (git difftool -d b1 b2).

Can someone please explain my error in execution and thinking?

0 投票
1 回答
9895 浏览

git - 使用 meld 作为 git 的 difftool,但在一个窗口中列出所有文件

我想使用 meld 作为我的 git 差异工具。

如果我.gitconfig这样配置:

并运行命令:$ git difftool
然后 git 为每个有更改的文件打开一个融合窗口。

但我想要一个窗口,将我的所有文件都放在融合列表框中。我已经阅读了一些关于-d--dir-diff选项的内容。
当我尝试 :$ git difftool -d
然后在每个融合部分打开一个带有一个目录树的窗口,但要么包含空目录。
我无法从这里打开我的文件。

在此处输入图像描述

信息:

git svn也在使用,但我认为这与我的问题无关;因为据我了解 git-svn,我的目录作为一个简单的 git 目录工作。

相关问题:
查看分支与融合的差异?