git提示CRLF will be replaced by LF问题及解决
现象
同一个项目多个人开发的时候,每个人使用的OS可能不一样,有的使用Mac OS、有的使用Windows、有的使用Linux或Unix平台。虽然不同的系统都可以进行代码开发,但是不同系统的换行符是不一样的,在提交代码的时候甚至经常看到这方面的冲突。例如,本来代码是A同学使用Mac OS开发的,后来B同学加入,使用Windows系统开发,修改了go/servers/xxx.go文件,在使用git add go/servers/xxx.go命令添加修改内容到远程代码仓库的时候,就会出现下面的提示。
warning: CRLF will be replaced by LF in go/servers/xxx.go.
The file will have its original line endings in your working directory
原因
为什么会出现上面的问题呢?
UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致。但 DOS/Windows 一直使用 0x0D0A(CRLF) 作为换行符。所以会出现使用mac的开发者修改的代码中是lf换行,windows用户使用的crlf换行符,同时存在两种系统提交的代码时,总是会互相影响。
另外一个原因是,git默认配置autocrlf=true,即所有代码在添加提交时都会被提交成crlf,但是如果不同开发者配置的autocrlf不一致(比如,input或者false),就会出现总是互相覆盖的情况。
可以先查看一下git配置信息,命令如下:
git config -l
发现配置如下:
core.autocrlf=true // 该配置使git自动将lf转换成crlf
core.fscache=true
core.symlinks=false
core.longpaths=true
pull.rebase=false
...
解决
首先,可以全局配置git禁止自动将lf转为crlf。然后,全局配置在提交时转换为lf。最后,配置crlf包含混合换行时拒绝提交。
// 修改git全局配置,禁止git自动将lf转换成crlf
git config --global core.autocrlf false// 配置全局git命令文件换行使用lf方式或者在terminal中对单个git代码仓库执行git config core.eol lf使用lf换行方式(这一步也可以不配置)
git config --global core.eol lf// 提交时转换为lf,检出时不转换
git config --global core.autocrlf input# 拒绝提交包含混合换行符的文件
git config --global core.safecrlf true
上面,最重要的一部是
git config --global core.autocrlf input
也可以只配置这个命令。
参考
Git操作中crlf和lf冲突问题
git提示CRLF will be replaced by LF问题及解决相关推荐
- warning: CRLF will be replaced by LF in 出现的原因和解决办法
主要原因是,不同系统下,文件的换行符是用不同字符表示的. Linux采用换行符LF表示下一行: Windows采用回车+换行CRLF表示下一行: Mac OS采用回车CR表示下一行. 解决方法是,切换 ...
- warning: CALF wilL be replaced by LF in xxxx 问题解决办法
warning: CALF wilL be replaced by LF in xxxx 问题解决办法 参考:https://blog.csdn.net/huihuikuaipao_/article/ ...
- 【Tools】git提示“warning: LF will be replaced by CRLF”的解决办法
原文链接:https://blog.csdn.net/u012757419/article/details/105614028 一.发现问题 windows平台下使用git add,git deplo ...
- Git 提示 “warning: LF will be replaced by CRLF“的思考
在windows平台进行 git add 时, 控制台有时会打印警告 warning: in the working copy of 'XXX.sh', LF will be replaced b ...
- git提示“warning: LF will be replaced by CRLF”的解决办法
一.发现问题 windows平台下使用git add,git deploy 文件时经常出现"warning: LF will be replaced by CRLF" 的提示. 网 ...
- git 提示error setting certificate verify locations 解决方案
git 提示error setting certificate verify locations 解决方案 参考文章: (1)git 提示error setting certificate verif ...
- idea的Terminal的git提示密码,修改git配置文件配置
idea的Terminal的git提示密码,修改git配置文件配置 1.找到该项目的.git文件夹: 2.修改config文件: 3.修改成[remote "origin"] ur ...
- git提示modified,但diff无内容
git提示modified,但diff无内容 解决方法 解决方法 git add filename git reset 之前的modified自动消失
- Git创建ssh密匙时报错Too many arguments解决方法
Git创建ssh密匙时报错Too many arguments解决方法 参考文章: (1)Git创建ssh密匙时报错Too many arguments解决方法 (2)https://www.cnbl ...
最新文章
- MOS管体二极管的作用
- 地图下载2之天超图瓦片格式
- 面试官:原生GAN都没复现过,自己走还是我送你?
- RuntimeWarning:Glyph 21435 missing from current font.
- 安装 SharePoint 2013
- linux 内存不足时候 应该及时回收page cache
- 【原创】Struts2.5.12版本中使用通配符*
- 基于ASP.Net Core开发的一套通用后台框架
- Applese 的QQ群
- 使用GitHub构建个人博客网站
- TFLearn MNIST
- 创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]
- ie11浏览器可以下载java吗_如何卸载IE11? 如何安装低版本的IE浏览器?
- 流水线上的农民:我在工厂种蔬菜
- 关于连接同一wifi,手机可以上网,电脑无法上网问题
- 我是如何在B站自学Java的?
- 学习记录:调用TFTLCD液晶屏
- Life with qmail -- 中文版(英文版本2 Jan 2006)
- RNN神经网络模型综述
- 模拟喷泉码(入门二):Seamless Rate Adaptation for Wireless Networking
热门文章
- 真爱永远不是遇见的,真爱是养成的
- 从指定 URL 读取图像并以 OpenCV 格式返回的函数(从指定 URL 读取图像并使其可由 OpenCV 处理。)
- blat+stunnel实践-命令行smtp发送邮件-通过QQ邮箱第三方客户端登录授权码
- “测温枪”到底是怎样测出你的温度的?
- matlab模拟三体运动_如何写出三体的MATLAB程序-理论分析篇
- 计算机专业英语谐音读法,英语48个音标中文谐音读法大全
- MX487EISA+替代MAX1487EESA+T的优势,货源渠道
- 制作DOS的U盘启动
- 那些令人印象深刻的书籍献词~ 一些有趣的书的献词
- 通达信 红线精准主升浪波段买卖选股指标 蝶形飞扬副图公式源码