解决没有修改文件但Git认为你修改了
这种情况看起来内容没变,但文件一定是被真正修改了。改变的点可能是换行符(LF ⇄ CRLF),也可能是文件权限。
如果是文件权限,设置忽略文件权限即可:
❯ git config core.filemode false
我出现这个问题的原因是用exFAT格式的U盘在两台ext4格式的电脑之间拷项目。这两种格式一个为Windows设计一个为Linux设计,权限管理自然也不一样。因此权限在ext4上本来是-rw-r--r--
,过了一遍exFAT就成了-rwxrwxrwx
。所以Git认为文件变了,但编辑器就是没法高亮哪里变了。
其实Git自身是可以告诉你文件权限被改变的:
❯ git diff README.md
diff --git a/README.md b/README.md
old mode 100644
new mode 100755