You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:50:19