gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 05:24:41 27 4
gpt4 key购买 nike

我一直在遵循这些指南 herehere关于如何在 git 中区分二进制文件 - 更具体地说是 .odt 文件和 Microsoft word 文件。

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

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

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

最佳答案

最近遇到了同样的问题。

来自 https://git-scm.com/docs/gitattributes :

A textconv, by comparison, is much more limiting. You provide a transformation of the data into a line-oriented text format, and Git uses its regular diff tools to generate the output.

简单地说,textconv 只适用于常规的 git diff,不适用于 difftool

要使 difftool 工作,请将以下内容放入 $HOME/.gitconfig:

[difftool "docx"]
cmd = t1=`mktemp` && `pandoc -t plain $LOCAL >$t1` && t2=`mktemp` && `pandoc -t plain $REMOTE >$t2` && meld $t1 $t2 && rm -f $t1 $t2

现在你可以运行:

$ git difftool --tool docx

上面使用 pandoc 进行 docx 到文本的转换,并使用 meld 作为外部差异。

关于git - 二进制文件上的 git difftool 可能吗?如果是这样,如何配置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098218/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com