我遇到了一些关于GIT如何管理行结尾的不明确行为。我的存储库中有一堆*.sh
个文件。行结尾不一致:一些行有CRLF
行结尾,而其他行有LF
行结尾。当我按rm .git\index
和git reset
标记为已更改的*.sh
个文件刷新存储库时。我已为这些*.sh
文件中的某些文件和刷新的存储库手动反转行结尾,但这些文件仍被git status
视为已更改。
我尝试使用autocrlf
和.gitattribute
设置的不同组合:
autocrlf=true
- *.sh text eol=lf
autocrlf=true
- *.sh eol=lf
autocrlf=false
- *.sh text eol=lf
autocrlf=false
- *.sh eol=lf
为什么这些LF
文件的强制*.sh
行结尾都没有,尽管有行结尾类型,所有文件都会保持更改?