Git文件未修改却显示变更,换行符相关问题求助
Git无内容变更却提示文件修改的问题
项目中有两个文件(一个yml文件、一个gradlew.bat文件),Git提示存在变更,但查看diff时显示内容完全一致——我从未主动修改过它们。两者当前均为CRLF格式,执行git add .时出现如下警告:
warning: in the working copy of 'file.yml', CRLF will be replaced by LF the next time Git touches it
已尝试的操作
- 尝试撤销变更,无效,文件仍显示有变更
- 执行
git stash,后续执行git stash pop和git stash apply均无效果 - 手动删除文件后从仓库拉取,文件立即再次显示有变更
- 执行
git reset --hard和git clean -f -d - 对文件执行
git rm --cached,以及git rm --cached -r . - 执行
git update-index --refresh - 执行
git config --global core.autocrlf false - 执行
git add --renormalize后,出现更多yaml、bat文件及一个java文件的变更 - 提交文件后执行
git reset --soft HEAD~1 - 手动复制origin/main上的文件内容,无效果
- 提交并推送到远程仓库,变更短暂消失,但拉取main分支后再次出现;合并到main后同事拉取也出现相同问题,已回滚合并
- 团队中未拉取那次错误合并的成员无此问题
- 删除仓库重新克隆,文件立即再次显示有变更
- 卸载IntelliJ和Git,问题仍未解决
当前.gitattributes配置
.gitattributes中已设置这两种文件类型的换行规则:
*.bat text eol=crlf *.yml text eol=lf
请问这可能是什么问题?
内容的提问来源于stack exchange,提问作者S3gn
相关产品推荐
相关产品推荐

