git diff 忽略文件权限被修改的文件

本文解析了Git如何识别文件权限变更,如oldmode与newmode的区别,并提供了多种解决方法,包括如何配置Git忽略文件权限变化,适用于不同场景的需求。

现象

有时git status 发现很多文件被修改了,但git diff 执行显示文件内容没变化,而是有 old mode xxx new mode。了。

git diff 
diff --git a/Android.mk b/Android.mkold
mode 100644
new mode 100755

原因

文件的权限,被chmod变化了,这种变化也被 diff 识别出来

不同场景的解决方法

  • 让当前git库忽略掉文件权限检查
git config core.fileMode false
  • 针对repo库可用如下命令解决
repo forall -c git config core.fileMode false
  • 当前user全局设置忽略文件权限检查,可查看文件~/.gitconfig
git config --global core.fileMode false // 所有版本库
$ cat ~/.gitconfig 
[user]
	name = huping
	email = huping@soundai.com
[http]
	postBuffer = 524288000
[core]
	compression = -1
	fileMode = false
[color]
	ui = auto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值