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

如何让git diff忽略文件权限模式变更?已尝试core.filemode但无效

解决git diff --no-index忽略文件权限变更的问题

你遇到的问题其实是因为core.filemode这个配置只对Git仓库内部的操作生效,而你用的git diff --no-index是用来比较仓库外的两个独立文件的,所以这个配置不起作用。

要解决这个问题,有两种方法:

临时生效:命令行直接加参数

直接给git diff命令加上--no-filemode选项,就能忽略权限模式的变更了:

git diff --no-index --no-filemode foo bar

如果之前的-c core.filemode=false不想去掉也没关系,加上--no-filemode同样能生效。

永久生效:全局配置

如果你希望以后所有的git diff --no-index操作都自动忽略权限,可以设置全局的diff.noFilemode配置:

git config --global diff.noFilemode true

配置完成后,再执行git diff --no-index foo bar就不会再显示权限模式的差异了。

简单总结下:core.filemode管的是仓库内是否跟踪权限变化,而diff.noFilemode才是控制diff命令(包括仓库外的文件比较)是否忽略权限差异的配置项,所以针对你的场景,后者才是正确的选择。

内容的提问来源于stack exchange,提问作者Paul Draper

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 09:57:41