如何通过父项目中的.gitattributes将子行结尾强制转换为子模块中的LF?

bsh*_*ett 8 git line-endings git-submodules gitattributes

我有一个存储库来存储我的所有Vim设置.它使用子模块来插入Pathogen的插件(我看过其他插件管理器,到目前为止没有兴趣).由于MSYSGit在为提交消息打开Vim时处理行结尾的方式,我需要将存储库与Unix行结尾一起存储(eol = lf).

我尝试在主仓库中添加一个带有内容的.gitattributes文件:

* eol=lf
* text=auto
Run Code Online (Sandbox Code Playgroud)

使用git rm --cached -r .和刷新主存储库后,主仓库中git reset --hard的行结尾现在是LF.但是,在子模块中运行相同的命令不起作用.

tl; dr:如何配置我的git repo以便用LF行结尾检出子模块?

Ant*_*cca 1

我无法重现您的场景,但我建议您尝试一下git config --global core.autocrlf input

通过上述指令,您可以强制系统处理 UNIX 格式的任何回车符。

这是关于它的更详细的指南