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

遇到这两个错误, 基本上都是叫你将 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

 

时间: 2024-10-15 15:33:20

[git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF的相关文章

[git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF[ git 处理和修改行结束符(CRLF和LF)]

我自己的设置是: [core] autocrlf = false[core] safecrlf = true 取消自动转换CRLF(上图中选的是commit as is),但是有提交前混用检查 本人用的是WINDOWS下的PHPSTORM开发的PHP 遇到这两个错误,是因为Git的换行符检查功能. core.safecrlf Git提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符.这个功能的选项如下: false - 不做任何检查 warn 

[GIT] warning: LF will be replaced by CRLF问题解决方法

[GIT] warning: LF will be replaced by CRLF问题解决方法 博客分类: Rails git crlf rails 开发环境: 操作系统: windows xp ruby 1.9.2 rails 3.1.3 git version 1.7.8.msysgit.0 问题描述: 启动GIT: 新建了一个rails工程 Ruby代码   $ rails new blog 当切换到blog目录下执行 Ruby代码   $ git init $ git add . 系统

解决:git warning: LF will be replaced by CRLF in xxxx

一. git add -A报错 在利用git add -A添加文件时,意外的发现报错了 报错信息中: LF:Line Feed 换行 CRLF:Carriage Return Line Feed  回车换行键 大意是: 警告:today.txt(我要添加的文件名)中LF被CRLF替换 在工作区里,这个文件将会保持它原来的换行符 二. 什么原因 1. 不同操作系统的行尾结束符(换行符)是不同的 windows下:CRLF("\r\n",使用回车换行两个字符) unix下:LF("

ssh: Could not resolve hostname git.*****-inc.com : Temporary failure in name resolution fatal: The remote end hung up unexpectedly

问题出现的情景:使用git pull拉取开发的代码到测试服务器,报错: ssh: Could not resolve hostname git.****-inc.com : Temporary failure in name resolution fatal: The remote end hung up unexpectedly 解决: 1.确定本地的ssh相关的文件是正确的(参考[本地服务器配置Git]) 2.尝试了网上的方法,不是没root权限无法执行就是没解决问题,后来找运维解决了 原因

git 拉取远程分支报错(fatal: '' is not a commit and a branch '' cannot be created from it)

问题描述从远程git上拉取某一个分支,然后报错,拉取不了这个分支. 拉取分支的命令: git checkout -b xxx-static-19 origin/xxx-static-19 其中xxx-static-19是分支名. 报错 fatal: 'origin/xxx-static-19' is not a commit and a branch 'xxx-static-19' cannot be created from it 解决重新拉取数据,git pull ,然后再切回分支 git

git warning: LF will be replaced by CRLF in 解决办法

在使用git的时候,每次执行 #git add "目录" git add . 都会提示这样一个警告消息: warning: LF will be replaced by CRLF in XXXXXXXXXXXXXX. 虽然说没有什么影响吧. 不过就是觉得太碍眼了, 按照这样设置就没有问题了: git config core.autocrlf false 这样设置git的配置后在执行add操作就没有问题了.

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

遇到这两个错误,是因为Git的换行符检查功能. core.safecrlf Git提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符.这个功能的选项如下: false - 不做任何检查 warn - 在提交时检查并警告 true - 在提交时检查,如果发现混用则拒绝提交 建议使用最严格的 true 选项. core.autocrlf 假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这

[git] -- warning: LF will be replaced by CRLF in app/app.iml. The file will have its original line endings in your working directory.

遇到这个错误,因为是git的换行符检查功能.之前代码是在MAC下,后来放在windows系统下,git add .的时候报这个错误. core.safecrlf git 提供了一个换行符检查功能(core.safecrlf),可以在提交时检查文件是否混用了不同风格的换行符. false --- 不做任何检查: warn --- 在提交的时候检查并报告: true --- 在提交时检查,如果发现混用则拒绝提交: 建议使用最严格的true选项. core.autocrlf 如果用两台不同系统的电脑写

Git warning:LF will be replaced by CRLF in readme.txt的原因与解决方案

今天用Git bash遇到的问题,看了几个回答之后发现一个比较有价值的,给大家分享一下,其他很多的回答都有很或多或少存在一些弊端. 原回答地址在stackoverflow上,附上链接--http://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf 这里我把主要的东西提炼一下翻译成中文供大家参考. 首先问题出在不同操作系统所使用的换行符是不一样的,下面罗列一下三大主流操作系统的换行符: Uinx/Linux采用换行符LF