【发布时间】:2017-07-21 06:27:08
【问题描述】:
有没有办法以某种方式配置 git,它将二进制文件视为包含十六进制字符串的文本文件?我希望能够以与在任何十六进制查看器中类似的方式比较提交之间的文件(例如带有十六进制编辑器插件的 Notepad++)。
【问题讨论】:
有没有办法以某种方式配置 git,它将二进制文件视为包含十六进制字符串的文本文件?我希望能够以与在任何十六进制查看器中类似的方式比较提交之间的文件(例如带有十六进制编辑器插件的 Notepad++)。
【问题讨论】:
您可以为二进制文件使用自定义textconv 属性。 gitattributes manual 建议对 PNG 图像使用示例过滤器,以使它们能够有意义地进行区分。要区分任意 *.bin 文件,我建议使用类似于以下内容的 gitattributes 条目:
[diff "bin"]
textconv = xxd
cachetextconv = true
这会将文件提供给xxd,这是一个随 Vim 一起提供的十六进制转换器。如果您不希望您的合作者安装 Vim,您可能需要选择不同(但相似)的工具。
请注意,此策略不允许让您编辑或合并结果文本并让 Git 重新解释它。为此,您需要一个自定义合并工具。
【讨论】: