为特殊文件类型设置'git diff'

时间:2013-11-19 11:13:56

标签: git diff

我想管理其中一个存储库中的Excel文件。区分它们是一个问题(它们是二进制文件)。但是,有一个很好的工具来区分它们:https://github.com/na-ka-na/ExcelCompare

我想使用.gitattributes

进行设置
*.xls diff=excel
*.xlsx diff=excel

.git/config

[diff "excel"]
    textconv = excel_cmp.bat

命令excel_cmp.bat file1.xls file2.xls效果很好。但是,我上面使用的设置似乎尝试使用excel_cmp.bat将excel文件转换为文本,然后区分文本输出。

如何设置差异工具以区分两个文件 - 而不是先转换为文本然后对文本输出进行差异化?

修改

在上面的设置中,git似乎要做的是区分excel_cmp.bat <file1>excel_cmp.bat <file2>的输出。但我想要的是excel_cmp.bat <file1> <file2>。我该怎么设置呢?

2 个答案:

答案 0 :(得分:5)

好的,我正在寻找的是.gitconfig中的以下内容:

[diff "excel"]
    command = excel_cmp.bat

答案 1 :(得分:1)

我们为Excel工作簿构建了一个开源Git命令行扩展:https://www.xltrail.com/git-xltrail(存储库托管在GitHub:https://github.com/ZoomerAnalytics/git-xltrail),这可能对您有所帮助。这是一个简单的安装过程,不需要任何手动管道工作。

简而言之,主要功能是它使git diff可以处理任何工作簿文件格​​式,以便它显示工作簿的VBA内容上的差异(在某些时候,我们将使这些工作表适用于工作表内容也是如此。