问题标签 [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 回答
431 浏览

git - 如何使“git difftool --dir-diff”与 vim 一起工作

我很高兴git difftool --dir-diff与 Beyond compare 合作,以显示目录和文件之间的整体差异并在它们之间导航。

然而,当谈到 vimdiff 时,它似乎不支持来自 git 的 dir diff。我创建的 git 别名如下

在我做类似的事情之后,它会在文件浏览器git dirdiff HEAD~1 HEAD中使用 vim 在左右列出我的 2 个目录。netrw但是,在其中任何一个上按 enter 不会使文件夹在两侧展开,更不用说打开具有并排差异的文件。

vimdiff 可以很好地在可视模式下显示单个文件差异,有没有办法让它也适用于--dir-diff

0 投票
1 回答
790 浏览

git - 什么是默认的 git diff 工具(和合并工具)?

什么是默认的 git diff 工具(和合并工具)?
我在哪里(以及如何)可以找到它?

我从来没有明确地为 git difftool(也没有 mergetool)设置任何配置,
所以git config --get difftool什么也没显示。

git 文档说(https://git-scm.com/docs/git-difftool):

diff.tool如果未设置配置变量,git difftool将选择合适的默认值。

我怎样才能知道它选择了哪一个?“合适
” 的算法是如何工作的?


让我分享一下我试图通过我的 git 找出当前选择的 diff 工具的原因:
我在执行时遇到了一些奇怪的 diff 结果git diff(我怀疑 BOM 处理问题)。
我想询问供应商(例如,p4merge),
但不确定是否是p4mergevimdiff或其他任何东西。

我希望可能有一个类似的命令git difftool --current

0 投票
1 回答
110 浏览

visual-studio-code - 我可以在 VS Code difftool 模式下突出显示字符吗?

当 VS Code 用作差异工具时,例如使用git difftool,它以红色和绿色显示更改的行。有没有办法突出显示更改的字符(除了线条之外或代替线条),以便它们更加突出?

0 投票
1 回答
59 浏览

git - git:并行查看特定提交的源代码

我正在处理源代码并想查看以前提交的代码。通常我会用git difftool --dir-diffdifftool 来做这个并融合。但是,当我想查看更远的提交或重构之前的提交时,meld 会使其难以阅读,因为代码更改太多。

我能想到的另一个解决方案是git stash更改,签出另一个提交并查看代码。但是我无法查看我当前的代码,而且它也需要很长时间。

我正在寻找(也许)一个工具,它可以打开以前提交的源代码,以便我查看与当前代码平行的情况。基本上就像dirdiff没有差异部分的解决方案。我正在使用 git cli。谢谢和最好的问候。

0 投票
0 回答
28 浏览

git - Git difftool 将所有文件复制到临时位置

今天我正在尝试为我的git repo 使用特定的差异工具,这是必要的,因为我的项目文件是来自编辑器的软件包,并且它适用于我的项目文件夹的所有内容文件和结构。

我可以运行差异工具(由编辑器提供)但是:

  • Normaly(没有配置),只比较修改过的文件......
  • 如果我使用--diff-dir,我有两个文件夹(临时目录中的左右),但只有修改过的文件。

我需要将所有文件都放在临时目录(左右)中,因为编辑器差异工具可以处理我项目文件夹的所有文件和结构。

我怎样才能做到这一点 ?

谢谢。塞德里克。

0 投票
2 回答
407 浏览

git - git difftool 没有按照 .gitconfig 中的配置工作

我使用 Beyond Compare 作为我的外部差异工具。当我在 .gitconfig 中的新计算机上配置它时,它不起作用,就像我在其他计算机上所做的那样。如果我用太多引号指定 extcmd,那么它确实有效。

现在和以前的一大区别是我在我的新存储库上使用 LFS。

.gitconfig 文件:

不起作用(使用单引号或双引号):

是否有效:

  1. 我怎样才能让它工作以便我可以使用git difftool HEAD

  2. Git LFS 是否会导致我的问题?

  3. 我的新计算机上是否有其他错误配置导致我的问题?

我尝试将配置中的单引号 (') 更改为双引号 ("),但这也不起作用。

我在全新安装的 Windows 10 上使用 git 版本 2.29.2.windows.2。

编辑:忘记明确“不起作用”是什么意思:它没有打开 Beyond Compare,但没有错误消息。它似乎在几秒钟内什么都不做:

我的整个 .gitconfig(以防万一):https ://hastebin.com/icuduxecen.ini

0 投票
0 回答
24 浏览

git - how to keep unparameterized "git difftool" call from opening specific file types

There are some binary files (sqlite) in the git repo I'm working in (I can't change that). I do not want to ignore the changes in these files, but I also do not want a call to "git difftool" to open them if they are changed, because my difftool (meld) freezes for a while when trying to diff these files. Is there a solution that allows me to keep calling "git difftool" without any additional parameters, so that all modified files, except those binary files will be opened in my difftool ?

FYI: I'm on Ubuntu

0 投票
0 回答
26 浏览

visual-studio - 在 Visual Studio 中是否可以为同一文件类型提供两种不同的比较工具?

我有 BeyondCompare 的许可证,并且我已经将它配置为用于 *.csproj 文件。当我比较 *.cs 文件时,我更喜欢使用 VS 比较工具来使用 Intelisense,但有时我会错过 BeyondCompare 的一些实用程序。

是否可以有某种上下文菜单让我在比较文件时选择要使用的工具?

谢谢

0 投票
1 回答
38 浏览

git - 使用 vscode 作为 git 版本 (2.31.1) difftool

我安装了 git 版本 2.31.1.windows.1 并按照所有 git 中显示的所有必要步骤逐步尝试使用 VSCode 作为我的主要 difftool,我将这些行放在 gitconfig 文件中:

使用以下步骤:

  1. git config --global diff.tool vscode
  2. git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"

甚至在 Windows 中将 VSCode 添加到PATH中,虽然我在运行时打开 VSCode 没有问题git config --global -e,但是当我输入命令时git difftool没有任何反应,它只是开始一个新行。

0 投票
1 回答
27 浏览

git - 在 Debian Linux v. 10 (buster) 中使用 git difftool 进行文件比较

在 Debian Linux v. 9 中,我使用以下命令进行文件比较,该命令运行正常:

git difftool /file/a /file/b

在 Debian Linux v. 10 中,我以相同的方式使用此命令并出现以下错误:

fatal: not a git repository (or any of the parent directories): .git

请帮帮我,解决它。

PS:我在工作中没有使用任何 git-repositories,只是来自 git 的 difftool。