由于行结尾无法从 git 中删除文件

问题描述 投票:0回答:1

我的项目中有两个文件,git 告诉我确实有更改。当我单击更改时,差异显示“内容相同”。这是有道理的,因为我从未主动接触过这些文件。 其中一个文件是“yml”文件,另一个文件是“gradlew.bat”,这两个文件都是 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
    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 中,然后我的同事将其拉出,现在相同的两个文件出现了相同的错误,我们恢复了合并。 (所以很明显 git 接触过它但没有影响)

  • 从存储库中提取的团队中的其他人(不是我错误的合并)没有问题。

  • 我删除了存储库并再次克隆它。文件再次立即发生变化。

  • 我从我的电脑上卸载了 intelliJ 和 Git。但这并没有帮助。

在 .gitattributes 中,这两种文件类型设置为

*.bat text eol=crlf
*.yml text eol=lf

可能是什么问题?

git intellij-idea
1个回答
0
投票

git status 到底返回什么? intelij中,上下角显示的是什么行结尾?

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.