git 换行符LF与CRLF转换问题 IDE的默认换行符设置为LF
在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。Git提供了一个“换行符自动转换”功能。这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。Git 的“换行符自动转换”功能听起来似乎很智能,因为它试图一方面保持仓库内文件的一致性(UNIX 风格),一方面又保证本地文件的兼容性(Windows 风格)。但是这个功能是有bug的,短期内都不太可能会修正。
在window下开发有一个大坑,就是换行默认是CRLF,也就是回车换行,但是Linux下只有换行LF,这样代码提交后,会出现编译问题,所以最好的办法是在IntelliJ下设置默认为LF。首先我们先介绍CRLF,LF和CR这三种东西,CR是MAC老版本的做法,就是回车,但是后来的MAC系统统一换成LF了,LF是Linux下的做法,就是换行,这个做法比较自然,为什么要回车换行呢,是吧。微软采用的是CRLF,看上去好像是兼容了CR和LF,但是实际完全不是那么回事,就是回车并换行。
第一步:File->Settings…
第二步:Editor->Code Style
可以看到,默认是System-Dependent,这个其实还是很牛叉的,根据系统自动配置,但是你是windows系统,默认是CRLF,服务器是Linux,你就得自己换了。
我们设置成下面这样,保存就好了 :
创建文件时,就能看到默认是LF了
或者直接在idea的terminal根据参数进行设置:
1.Git设置
git config --global core.autocrlf false
git config --global core.safecrlf true
含义:
AutoCRLF
#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true
#提交时转换为LF,检出时不转换
git config --global core.autocrlf input
#提交检出均不转换
git config --global core.autocrlf false
SafeCRLF
#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true
#允许提交包含混合换行符的文件
git config --global core.safecrlf false
#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn
2.IDE设置使用UNIX换行符
IDEA的设置File -> Settings
Editor -> Code Style
Line separator (for new lines) ,选择:Unix and OS X (\n)
对已使用Windows换行符的文件,可以使用Sublime Text打开,
View->Line Endings,选Unix,保存;
参考网址:
https://blog.csdn.net/echo_follow_heart/article/details/48314523
https://www.jetbrains.com/idea/help/configuring-line-separators.html
git 换行符LF与CRLF转换问题 IDE的默认换行符设置为LF相关推荐
- git 换行符LF与CRLF转换问题
git 换行符LF与CRLF转换问题 一.背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来 ...
- crlf换行 idea_git 换行符LF与CRLF转换问题
git 换行符LF与CRLF转换问题 一.背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来 ...
- git commit提交代码时提示LF与CRLF转换问题 error
在用idea提交Vue项目的时候遇到报错,提示LF will be replaced by CRLF. 然后查了很多博客,都解释了LF和CRLF的问题,基本上说的解决办法是运行这行代码:git con ...
- IDEA和VS code设置默认换行符为LF
相信用Git的人对这个问题非常了解了,如果团队没做好约定,或者新人不太会用git,用的又是windows,git又没有开启autocrlf,那么当队友修改了代码提交之后,那画面真的是不忍直视. 所以索 ...
- git处理换行符问题,webstorm设置默认换行符
不少开发者可能遇到过这个问题:从git上拉取服务端代码,然后只修改了一处地方,准备提交时,用diff软件查看,却发现整个文件都被修改了.这是git自动转换换行符导致的编译问题. 原因 不同操作系统使用 ...
- 批量转换 LF 和 CRLF 的小技巧【详细步骤】
在做跨平台开发移植的时候,最常见的问题就是不同操作系统的换行不同(例如,Windows 上是 CRLF,而 Linux 上是 LF,MacOS 以前是 CR,现在也是 LF),如果不注意的话,可能会导 ...
- 让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it
大家好,我是小饼鹅,让我们一起学习吧 背景 如果我们正在应用的windows系统进行开发工作的话,我们很有可能在对代码进行git add 的时候会看到以下warning: LF will be rep ...
- LF 和 CRLF 的区别
crlf 是回车换行的意思,Carriage Return Line Feed,指的是 Windows 的换行符,同\r\n lf 是换行意思,Line Feed,指的是 Unix 的换行符,同\n ...
- idea设置了默认换行符,ctl + s 保存文件时换行符没有变成默认换行符 解决方法
设置默认换行符 首先我们在idea的设置中,设置默认的换行符. 因为linux 和 windows 以及 macos 各个操作系统的换行符不一致,根据自己的需求进行选择 快捷替换 在idea的右下角可 ...
最新文章
- ListView style
- mac显示网速_Mac网络流量监控工具——NetWorker pro
- ASP无组件上传带进度条
- 织梦自适应php源码,DEDE织梦PHP源码响应式建筑设计类网站织梦模板(自适应手机端)...
- pl/sql 设置编码
- Linux基础知识--Linux分区
- ios、android、h5、小程序等安卓苹果平台终端兼容问题
- 儿童python编程入门-儿童编程python入门
- Linux 命令(2)—— C++filt 命令
- 11位大咖集结!和最专业的人,探讨“由内及外”的未来趋势 | 生辉 · 生命科学大会-1
- N-BaIoT-Network-based-Detection-of-IoT-Botnet-Attacks
- ASP.NET 实现简单的注册界面(使用asp控件)
- python爬虫之帅哥图片爬取
- 不礼让行人怎么抓拍的_注意啦!电子警察如何抓拍不礼让行人?所有司机都要看看...
- 天津大学计算机学院考研复试名单,天津大学各学院2019考研复试办法及复试名单...
- Revit二次开发之 自定义选项卡排在最前端
- 农委系统先进集体推荐报告_关于开展全省农林农经系统先进集体和先进工作者(劳动模范)评选推荐工作的通知...
- 一个JavaScript变量应用实例
- JavaScript代码在哪里放置?
- 什么是高端音乐制作-巴汉著文