最近提交的.gitattributes文件中的示例。
* text=auto eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
*.ahk text eol=crlf
*.ps1 text eol=lf下面是git ls-files --eol的当前输出。注意,文件a.ps1当前是一个新创建的分阶段文件,当*.ps1 text eol=crlf存在于.gitattributes文件中时,文件b.ps1是在以前的提交中添加的。
i/lf w/lf attr/text eol=crlf a.ps1
i/lf w/crlf attr/text eol=crlf b.ps1以下git ls-files --eol的预期产出
i/lf w/lf attr/text eol=lf a.ps1
i/lf w/lf attr/text eol=lf b.ps1我只需手动更改本地文件,就可以更正以lf结尾的lf行,但为什么不使用attr/text eol=lf
有没有人碰巧知道发生了什么?操作系统就是窗口,如果这有关系的话。耽误您时间,实在对不起。
发布于 2022-03-07 18:57:41
我找到了一个解决办法,尽管此时我不知道到底发生了什么。
我使用git子模块。顶层git回购A有子模块B;B是本问题中提到的回购。有一个文件A/.git/modules/B/info/attributes是我的B/.gitattributes文件的旧版本。删除这个旧文件可以使用B/.gitattributes,并为a.ps1和b.ps1适当设置attr/text eol=lf。
https://stackoverflow.com/questions/71376084
复制相似问题