在各操作系统下,文本文件所使用的换行符是不一样的。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相关推荐

  1. git 换行符LF与CRLF转换问题

    git 换行符LF与CRLF转换问题 一.背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来 ...

  2. crlf换行 idea_git 换行符LF与CRLF转换问题

    git 换行符LF与CRLF转换问题 一.背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来 ...

  3. git commit提交代码时提示LF与CRLF转换问题 error

    在用idea提交Vue项目的时候遇到报错,提示LF will be replaced by CRLF. 然后查了很多博客,都解释了LF和CRLF的问题,基本上说的解决办法是运行这行代码:git con ...

  4. IDEA和VS code设置默认换行符为LF

    相信用Git的人对这个问题非常了解了,如果团队没做好约定,或者新人不太会用git,用的又是windows,git又没有开启autocrlf,那么当队友修改了代码提交之后,那画面真的是不忍直视. 所以索 ...

  5. git处理换行符问题,webstorm设置默认换行符

    不少开发者可能遇到过这个问题:从git上拉取服务端代码,然后只修改了一处地方,准备提交时,用diff软件查看,却发现整个文件都被修改了.这是git自动转换换行符导致的编译问题. 原因 不同操作系统使用 ...

  6. 批量转换 LF 和 CRLF 的小技巧【详细步骤】

    在做跨平台开发移植的时候,最常见的问题就是不同操作系统的换行不同(例如,Windows 上是 CRLF,而 Linux 上是 LF,MacOS 以前是 CR,现在也是 LF),如果不注意的话,可能会导 ...

  7. 让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

    大家好,我是小饼鹅,让我们一起学习吧 背景 如果我们正在应用的windows系统进行开发工作的话,我们很有可能在对代码进行git add 的时候会看到以下warning: LF will be rep ...

  8. LF 和 CRLF 的区别

    crlf 是回车换行的意思,Carriage Return Line Feed,指的是 Windows 的换行符,同\r\n lf 是换行意思,Line Feed,指的是 Unix 的换行符,同\n ...

  9. idea设置了默认换行符,ctl + s 保存文件时换行符没有变成默认换行符 解决方法

    设置默认换行符 首先我们在idea的设置中,设置默认的换行符. 因为linux 和 windows 以及 macos 各个操作系统的换行符不一致,根据自己的需求进行选择 快捷替换 在idea的右下角可 ...

最新文章

  1. ListView style
  2. mac显示网速_Mac网络流量监控工具——NetWorker pro
  3. ASP无组件上传带进度条
  4. 织梦自适应php源码,DEDE织梦PHP源码响应式建筑设计类网站织梦模板(自适应手机端)...
  5. pl/sql 设置编码
  6. Linux基础知识--Linux分区
  7. ios、android、h5、小程序等安卓苹果平台终端兼容问题
  8. 儿童python编程入门-儿童编程python入门
  9. Linux 命令(2)—— C++filt 命令
  10. 11位大咖集结!和最专业的人,探讨“由内及外”的未来趋势 | 生辉 · 生命科学大会-1
  11. N-BaIoT-Network-based-Detection-of-IoT-Botnet-Attacks
  12. ASP.NET 实现简单的注册界面(使用asp控件)
  13. python爬虫之帅哥图片爬取
  14. 不礼让行人怎么抓拍的_注意啦!电子警察如何抓拍不礼让行人?所有司机都要看看...
  15. 天津大学计算机学院考研复试名单,天津大学各学院2019考研复试办法及复试名单...
  16. Revit二次开发之 自定义选项卡排在最前端
  17. 农委系统先进集体推荐报告_关于开展全省农林农经系统先进集体和先进工作者(劳动模范)评选推荐工作的通知...
  18. 一个JavaScript变量应用实例
  19. JavaScript代码在哪里放置?
  20. 什么是高端音乐制作-巴汉著文

热门文章

  1. fiq中断的入口地址_ARM 之FIQ(快速中断) IRQ(中断)
  2. 【跨境电商】疫情下做好海外跨境电商的几个技巧你知道吗?
  3. Gikee区块链浏览器-昨日链上数据活跃度暴增带动行情反弹,今日回归常态有待市场检验...
  4. VIM 配色方案推荐
  5. 记一次Mysql数据恢复
  6. 可滚动且可排序的表格
  7. 555多谐振荡器及仿真
  8. 计算机启动方法基础,电脑开机的四种方法
  9. word下输入公式的一些技巧
  10. 集丰照明|无主灯智能照明设计,从构想到实现的“八步走”