Git Extensions将XML识别为二进制文件无法查看Diff的解决方法
解决Git Extensions将XML识别为二进制文件无法查看Diff的问题
以下是针对问题的具体解决步骤:
确认.gitattributes配置正确性
确保.gitattributes文件放在仓库根目录,内容为*.xml text,同时检查文件中是否存在冲突规则(比如更具体路径的*.xml binary配置会覆盖全局规则)。重置Git文件缓存
Git可能已经缓存了原有的二进制属性标记,需要重新索引文件:- 打开Git Bash(或Git Extensions内置终端)
- 执行命令:
git rm --cached *.xml(该操作仅清除缓存,不会删除本地文件) - 重新添加文件:
git add *.xml - 提交变更:
git commit -m "Fix xml file type recognition"
检查XML文件本身的编码/内容
部分XML文件可能因包含不可打印二进制字符、采用UTF-16等非纯文本编码导致Git识别为二进制:- 用文本编辑器打开XML文件,检查是否有乱码或特殊字符
- 用Git Bash执行
file your-target.xml查看文件类型,若显示binary,需将文件转存为UTF-8等纯文本编码
验证Git属性配置生效
执行git check-attr text -- your-target.xml,若输出为your-target.xml: text: set,说明配置已生效;若为unset或unspecified,需重新检查.gitattributes的位置和内容。检查Git Extensions的Diff设置
打开Git Extensions的设置(Settings),进入Diff Viewer选项,确认XML文件关联的是文本Diff工具,而非二进制文件查看器。
内容的提问来源于stack exchange,提问作者chen.yingchun
相关产品推荐
相关产品推荐

