设置特定文件类型的 'git diff'
设置特定文件类型的 '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文件转换为文本,然后再进行比较。
我如何设置差异工具来直接比较两个文件,而不是先转换为文本,然后再比较文本输出?
编辑:
在上述设置中,git似乎是在对excel_cmp.bat
和excel_cmp.bat
的输出进行比较。但是我想要的是excel_cmp.bat
。我该如何设置?
问题出现的原因是需要在Git中设置"git diff"命令以支持特定的文件类型,解决方法是使用开源Git命令行扩展工具"git-xltrail"来实现。
git-xltrail是一个用于Excel工作簿的Git命令行扩展工具,可以在GitHub上找到它的代码库(https://github.com/ZoomerAnalytics/git-xltrail)。它的安装过程非常简单,不需要进行任何手动配置。
该工具的主要功能是使"git diff"命令适用于任何工作簿文件格式,以便显示工作簿的VBA内容的差异。未来,该工具还计划支持工作表内容的差异显示。
对于Linux/LibreOffice环境,目前尚不清楚git-xltrail是否支持。