git关于crlf配置相关设置
在 Git 中,CRLF(Carriage Return + Line Feed) 是 Windows 系统的换行符,而 Linux/macOS 用 LF(Line Feed)。Git 默认会自动转换换行符(Windows 下拉取时 LF→CRLF,提交时 CRLF→LF),若想禁用这种自动转换(即 “不设置 CRLF”),核心是通过 Git 配置关闭换行符自动处理,具体操作如下:
一、核心配置:禁用 CRLF 自动转换
通过 core.autocrlf 配置控制换行符转换,禁用需设置为 false,支持全局配置(所有仓库)或局部配置(当前仓库)。
全局配置(推荐,所有 Git 仓库生效)
打开终端 / 命令行,执行:git config --global core.autocrlf false局部配置(仅当前仓库生效)
进入项目的 Git 仓库根目录,执行:git config core.autocrlf false配置说明:
core.autocrlf false:Git 不做任何换行符转换,工作区文件的换行符完全由你本地编辑器 / 系统决定(Windows 保留 CRLF,Linux/macOS 保留 LF);
对比默认值 true(Windows 下自动转换)和 input(仅提交时 CRLF→LF,拉取不转换),false 是彻底禁用转换。
二、补充配置:避免 Git 标记文件为 “已修改”(可选)
若禁用转换后,Git 仍误判文件因换行符变化为 “已修改”,需配置 core.safecrlf 关闭换行符检查:# 全局禁用换行符检查(推荐) git config --global core.safecrlf false core.safecrlf说明:
true(默认):提交时若存在混合换行符,Git 会报错阻止提交;
false:关闭检查,允许混合换行符提交
检查并会阻止提交
git config --global core.autocrlf true
git config --global --unset core.safecrlf仅恢复 core.autocrlf 默认值
Windows 系统中 Git 默认core.autocrlf为true,若之前设为false,执行以下命令单独恢复该配置:
git config --global core.autocrlf true版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/1393.html
转载时须注明出处及本声明