文档章节

[git] warning: LF will be replaced by CRLF | fatal

jerry__sun
 jerry__sun
发布于 2015/06/18 19:47
字数 651
阅读 393
收藏 0

遇到这两个错误, 基本上都是叫你将 autocrlf 设置为 false. 但是我觉得这样很不妥。


如果你的源文件中是换行符是LF,而autocrlf=true, 此时git add就会遇到 fatal: LF would be replaced by CRLF 的错误。有两个解决办法:

1. 将你的源文件中的LF转为CRLF即可【推荐】

2. 将autocrlf 设置为 false


如果你的源文件中是换行符是CRLF,而autocrlf=input,  此时git add也会遇到 fatal: CRLF would be replaced by LF 的错误。有两个解决办法:

1. 将你源文件中的CRLF转为LF【推荐】

2. 将autocrlf 设置为true 或者 false


我的建议:在Mac上设置 autocrlf = input, 在Windows上设置autocrlf = true(默认值)。

----------------------------------------------------------------------------------------------------------------------------------

这样的话,

Windows:(true)

提交时,将CRLF 转成 LF再提交;

切出时,自动将LF 转为 CRLF;


MAC/Linux: (input)

提交时,   将CRLF 转成 LF再提交;

切出时,保持LF即可


这样即可保证仓库中永远都是LF. 而且在Windows工作空间都是CRLF, 在Mac/Linux工作空间都是LF.

----------------------------------------------------------------------------------------------------------------------------------


core.autocrlf

假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题,但它会极大地扰乱跨平台协作。

Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:

$ git config --global core.autocrlf true

Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换:

$ git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:

$ git config --global core.autocrlf false


© 著作权归作者所有

上一篇: git笔记
下一篇: Eclipse快捷键
jerry__sun
粉丝 9
博文 27
码字总数 20239
作品 0
西安
项目经理
私信 提问
【转载】GIT 使用时遇到的行结束符设置问题

解决不同平台下结束符差别导致的各种问题,需要通过设置 core.autocrlf 来搞定。两种可能遇到的提示信息: warning: LF will be replaced by CRLF fatal: CRLF would be replaced by LF 假如...

摩云飞
2014/04/29
0
0
[git] warning: LF will be replaced by CRLF

在window7下使用git的时候,建立一个新的库 git init 然后再把文件添加到库中 git add -A 但是出现了问他 提示: warning: LF will be replaced by CRLF….. 解决办法: 在git bash 输入下面的...

i33
2012/03/19
0
6
warning: LF will be replaced by CRLF 问题解决

window7下使用git 新项目 git init git add . 系统会出现大批:warning: LF will be replaced by CRLF in xxxxx 就是回车(CR, ASCII 13, r) 换行(LF, ASCII 10, n)。 这两个ACSII字符不会在屏......

bomby
2018/06/26
0
0
git add的时候报错unable to index file这个时候应该咋解决

git add vender 的时候一开始说warning: LF will be replaced by CRLF git config --global core.autocrlf false来弄了。再次git add vender 报错 error:readlink("vendor/bin/markdown"):Fu......

LouisWeb
2015/06/09
2.9K
2
工作中经常用到的git命令和错误记录

原文地址: http://phpecshop.blog.51cto.com/6296699/1882513 1、windows下 git add . 出现 warning: LF will be replaced by CRLF 警告 warning: LF will be replaced by CRLF in SlidingM......

ch10mmt
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

GMTC2019|闲鱼-基于Flutter的架构演进与创新

2012年应届毕业加入阿里巴巴,主导了闲鱼基于Flutter的新混合架构,同时推进了Flutter在闲鱼各业务线的落地。未来将持续关注终端技术的演变及趋势 Flutter的优势与挑战 Flutter是Google开源的...

阿里云官方博客
28分钟前
1
0
ubuntu安装软件 报错:下列软件包有未满足的依赖关系

ubuntu安装软件,一直出现以下错误,还纳闷为毛都和 lksctp-tools 有关,上网差发现可能是 lksctp-tools安装错误。 pvc@pvc-Vostro-3650:~$ sudo apt-get install libnet1-dev 正在读取软件包...

琴麻岛
29分钟前
2
0
GMTC2019|闲鱼-基于Flutter的架构演进与创新

2012年应届毕业加入阿里巴巴,主导了闲鱼基于Flutter的新混合架构,同时推进了Flutter在闲鱼各业务线的落地。未来将持续关注终端技术的演变及趋势 Flutter的优势与挑战 Flutter是Google开源的...

zhaowei121
31分钟前
0
0
一段话系列-在抢购秒杀中,如何解决Redis读写分离带来的,主从同步延迟问题?

在抢购秒杀中,我们将数据缓存在Redis中,Redis我们为了提高QPS,使用了读写分离的架构,随之而来的便是主从同步延迟问题;在这里,我认为针对于主从同步延迟问题是不可避免的,我给出的解决...

EasyProgramming
32分钟前
3
0
linux sudo java : command not found

运行sudo java -version报错 [admin@localhost xxx]$ sudo java -version sudo: java: command not found 原因: 当使用sudo去执行一个程序时,处于安全的考虑,这个程序将在一个新的、最小化...

朝如青丝暮成雪
36分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部