git - 在 Windows 上为 Git 配置差异工具

标签 git merge diff

由于 powershell 中的 git diff 大多会导致无法读取的空格或奇怪的字符,我安装了 Perforce P4Merge 来处理 merge 和差异。

但是,我无法让 git diff 打开 p4merge 应用程序来查看差异。到目前为止,我的 .gitconfig 看起来像这样:

[diff]
    tool = p4diff

[difftool "p4diff"]
    external = 'C:/PROGRA~1/Perforce/p4merge.exe "$LOCAL" "$REMOTE"'
    prompt = false

[merge]
    keepBackup = false
    tool = p4merge

[mergetool "p4merge"]
    cmd = "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
    path = 'C:/PROGRA~1/Perforce/p4merge.exe'
    prompt = false
    keepBackup = false
    keepTemporaries = false
    trustExitCode = false

路径是正确的。但是遗憾的是,当使用 git diff 时,git 仍然会尝试在 Powershell 中显示差异。

那么实现这一目标的诀窍是什么?

最佳答案

在命令提示符下,尝试:git config --global diff.tool p4diff

这对我有用,使用按照您描述的方式设置的配置文件:

[diff]  
    tool = p4merge  
[difftool "p4diff"]  
    external = '"C:/Program Files/Perforce/p4merge.exe" "$LOCAL" "$REMOTE"'

运行 git difftool 按预期打开 p4merge。

引用:How do I view 'git diff' output with a visual diff program?

关于git - 在 Windows 上为 Git 配置差异工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944757/

相关文章:

javascript - 合并 Javascript 对象

c++ - 比较两个包含 double 的文件

git - vscode快速打开 "git checkout"显示无结果

merge - 我可以使用 KDiff3 来处理冲突标记吗? ( Mercurial )

sql-server - SQL Server 与案例合并吗?

svn - OSX 上的 meld(图形差异工具)有哪些替代方案

r - 在大型数据集 R 上按 id 检查序列

Git 在两个远程之间同步

git-diff:只显示为提交而准备的更改

git - 如何根据上次 Git checkout /提交在更改中进行搜索?