warning LF will be replaced by CRLF in file
这个问题主要是由系统之间的差异所造成的,以 Unix 为基础的系统,包括 Unix, Linux 和 MacOS 使用 LF(line feed) 作为一行结束的标识。与之相对的 Windows 系统则用 carriage return(CR) 和 LF(line feed) 结合作为一行结束的标识,拼接之后就获得了 CRLF
。
在之前的文章 Husky 的报错及简易配置 中使用 Husky 对项目进行了配置,不过没有意识到 husky 再执行命令的时候会将换行标识符重置为 CR (这里使用 Windows 开发)。
针对本机的解决方案就是关闭 CRLF 的提示了:
> git config --global core.autocrlf false
这样设置后,git 就会关闭自动将换行标识符从 cr
修改为 crlf
。
另一种做法是修改 .git/config
的文件,鉴于这个文件夹是隐藏的,所以需要切换到 .git
目录下,打开 config
文件进行修改。
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hooksPath = .husky
autocrlf = false
目前在本地上切换不同的 branch 之后,.git/config
文件是被”持久化“了,但是这个变化有没有 synced 到 remote 上,暂时无法确认。