git diff默认仅显示变更文件名而非行内容变更的原因咨询
Git diff/--staged仅显示文件名不显示行变更的排查方案
以下是几个常见原因及对应解决方法:
检查diff配置是否强制开启name-only
执行命令查看当前diff相关配置:git config --list | grep diff如果输出里包含
diff.nameonly=true,用以下命令取消该配置(全局配置需加--global参数):git config [--global] --unset diff.nameonly排查自定义diff工具干扰
查看是否配置了外部diff工具:git config --get diff.external如果返回了某个工具路径,说明该工具可能仅输出文件名。可以取消配置:
git config [--global] --unset diff.external确认文件是否被识别为二进制
Git对二进制文件默认只显示文件名变更。用以下命令检查文件的diff属性:git check-attr diff <你的文件名>如果输出
diff: binary,说明文件被标记为二进制。可以在.gitattributes文件中添加规则强制文本diff,比如:*.md diff *.txt diff检查diff命令是否被别名覆盖
查看所有Git别名:git config --get-regexp alias如果发现
alias.diff=diff --name-only这类别名,执行以下命令取消:git config [--global] --unset alias.diff重置core.pager配置
若分页工具配置异常也可能导致显示问题,重置为默认设置:git config [--global] --unset core.pager
内容的提问来源于stack exchange,提问作者Ninja
相关产品推荐
相关产品推荐

