有没有办法根据文件扩展名将git配置为使用不同的difftool?

有没有办法根据文件扩展名将git配置为使用不同的difftool?,git,gitattributes,git-difftool,Git,Gitattributes,Git Difftool,我想将git设置为根据文件扩展名启动不同的difftool可执行文件() 这可以通过外部脚本或可执行文件来完成。例如,下面是一个发布的问答,其中有一个shell脚本可以实现这一点:,但是,我的团队主要使用Windows,这是一个Unix解决方案,我更喜欢内置解决方案 在我的全局.gitconfig中使用不同的[difftool]或[diff]部分,并使用类似于.gittattributes的文件,有没有类似的方法 我目前正在使用.gittributes方法来解压git diff之前的特定文件扩展

我想将git设置为根据文件扩展名启动不同的difftool可执行文件()

这可以通过外部脚本或可执行文件来完成。例如,下面是一个发布的问答,其中有一个shell脚本可以实现这一点:,但是,我的团队主要使用Windows,这是一个Unix解决方案,我更喜欢内置解决方案

在我的全局
.gitconfig
中使用不同的
[difftool]
[diff]
部分,并使用类似于
.gittattributes
的文件,有没有类似的方法

我目前正在使用
.gittributes
方法来解压git diff之前的特定文件扩展名,即存档。是否可以扩展此方法以基于
.gitconfig
中的不同
[DiffTool“mytool”]
部分启动不同的DiffTool


或者,是否有其他内置于git中的方法来实现这一点?

简短的回答是“否”,但由于
git difftool
运行一个脚本difftool helper脚本,它反过来可以运行您喜欢的任何脚本,您可以很容易地想象这些脚本。另外,有关一般有用的背景信息,请参阅。您链接的解决方案中的示例适用于Windows-请查看路径。使用脚本有什么问题?@alfunx可能没什么问题,但更愿意让我的用户配置git(这是他们已经安装的工具),而不是安装其他脚本/工具。它为项目/团队添加了一个额外的依赖项。如果您的用户必须经过一些过程才能根据项目/团队的需要配置他们的工具,那么这不已经是一个(隐式)依赖项了吗?一个脚本将正式说明这一点。不过,看看托瑞克的链接答案。