git文件内容没变但status显示不同的解决方法

问题描述:文件并没有改动过,但git status显示该文件有更改

原因一:文件权限变化

使用 git diff filename 命令查看具体的差异,结果显示权限不一致

解决方法:禁止GIT检测文件权限的变化

git config core.filemode false

原因二:不同操作系统的换行符不一样,CR回车 LF换行  Windows/Dos 是 CRLF \r\n  ,Linux/Unix 是LF \n   MacOS是 CR \r

可以设置忽略换行符的差异:

git config --global core.whitespace cr-at-eol

配置autocrlf和safecrlf:

git config --global core.autocrlf false
git config --global core.safecrlf true

查看详细的格式化与空白设置