有时候我们会在多个平台上编辑文件、代码,此时我们希望所有文件,包括你在 Windows 上编辑的文件(Windows 采用的是 CRLF),都使用 LF 换行符,那么可以修改 .gitattributes 文件来强制执行这个规则:
| |
在保存提交
.gitattributes后,可能因为之前在 Windows 上编辑的文件可能已经变成了 CRLF 换行符,这时需要需要将它们转换回 LF(这里可以使用 VSCode)。
接着可以执行以下命令,让 Git 重新处理工作目录中的文件并按照新的规则来转换:
| |
* text eol=lf:这条规则告诉 Git,将仓库中的所有文件都视为文本文件,并且强制它们使用 LF 作为行结束符。当你从仓库检出文件时,Git 会将其转换为 CRLF(在 Windows 上),但当你提交时,它会确保所有文件都以 LF 格式存储在仓库中。
git rm --cached -r . 和 git reset --hard:这些命令会强制 Git 重新将你的工作目录与仓库同步,并在此过程中应用 .gitattributes 文件中设置的换行符规则,从而确保所有文件都符合 LF 规范。