git中配置autocrlf来正确处理crlf
2016-02-19 17:04
253 查看
转载自:/article/8112492.html
遇到这两个错误, 基本上都是叫你将 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.
----------------------------------------------------------------------------------------------------------------------------------
Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用
[plain]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
$ git config --global core.autocrlf true
Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把
Git 在提交时把CRLF转换成LF,签出时不转换:
[plain]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
$ git config --global core.autocrlf input
这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。
如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置
[plain]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
$ git config --global core.autocrlf false
windows的回车转成linux 或unix
linux回车转windows
遇到这两个错误, 基本上都是叫你将 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:
[plain]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
$ git config --global core.autocrlf true
Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把
core.autocrlf设置成input来告诉
Git 在提交时把CRLF转换成LF,签出时不转换:
[plain]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
$ git config --global core.autocrlf input
这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。
如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置
false取消此功能,把回车符记录在库中:
[plain]
view plain
copy
![](https://code.csdn.net/assets/CODE_ico.png)
$ git config --global core.autocrlf false
windows的回车转成linux 或unix
find . -iname "*.java" | xargs -I FL dos2unix FL
linux回车转windows
find . -iname "*.java" | xargs -I FL unix2dos FL
相关文章推荐
- nrpe [xxxx] host ::1 is not allowed to talk to us!与ipv6有关
- 详解Android中的屏幕方向类型
- SpringMVC入门
- leetcode:Remove Nth Node From End of List
- Project Tungsten:让Spark将硬件性能压榨到极限
- c++ vector 动态数组用法
- 解决VM克隆CentOS系统后eth0消失,显示eth1的问题
- TCP 握手失败事件-小记a
- 140 php $_SERVER变量
- jquery-ui-处理拖动位置Droppable,Draggable
- K-special Tables
- jQuery-强大的jQuery选择器 (详解)
- java 基本数据类型
- 深入学习:NSOperationQueue, NSRunLoop和线程安全
- vs2013 也能重构(refactor )变量名了
- C++学习笔记一、构造函数和析构函数的概念
- Git过滤文件和文夹
- c3p0连接池maxIdleTime小于mysql数据库interactive_timeout参数导致出现NewPooledConnection close Exception的解决办法
- Android安全攻防战,反编译与混淆技术完全解析(上)
- linux下执行jar中的main方法时,提示缺少第三方jar包