Skip to content

windows 上换行符警告问题

最近在 windows 上写代码,提交代码的时候遇到了这样的警告

bash
warning: in the working copy of 'docs/CHANGELOG.md', LF will be replaced by CRLF the next time Git touches it

问了一下 AI, 说是

在某些情况下,比如跨平台协作,或者在 Windows 系统上使用 Git 时,可能会出现换行符的问题。 Git 可以通过配置自动转换这些换行符,以保持仓库中文件的统一。 这个警告表明,当你下一次通过 Git 操作该文件(比如提交或拉取)时,Git 会将文件中的 LF 换行符转换为 CRLF 换行符。

这个警告通常不会影响文件的功能,但如果文件的内容很重要,比如代码或文档,这种换行符的转换可能会导致一些问题。 为了避免这种问题,你可以设置 Git 的换行符处理方式,例如使用 core.autocrlf 配置选项。具体的设置方式取决于你的操作系统和需求。

如果你希望 Git 在检出和提交时都使用 LF,不进行任何转换,你可以将 core.autocrlf 设置为 false。这适用于所有操作系统,但需要确保你的文本编辑器和其它工具能够正确处理 LF 换行符。

bash
git config --global core.autocrlf false

顺便补充一个配置,git 在 windows 上对大小写默认不敏感,这在有些时候会导致 Git 的行为与文件系统的行为不一致。所以推荐修改 git 的默认配置

bash
git config --global core.ignorecase false

这将全局地设置 Git,使得所有仓库都大小写敏感。