IDEA和GIT关于文件中LF和CRLF问题及解决

2025-09-30 13:50
文章标签 问题 idea 解决 git lf crlf

本文主要是介绍IDEA和GIT关于文件中LF和CRLF问题及解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut...

问题描述

项目软件安装shell脚本上git仓库管理,但拉取后,上linux运行报错。


IDEA和GIT关于文件中LF和CRLF问题及解决

问题思考

根据描述信息可以查看到\r字样,初步判别为换行符导致

1、将脚本文件移动至notepad++中,通过视图—>显示符号—>显示所有符号,一顿操作后,可以看到脚本中一串CRLF的符号


IDEA和GIT关于文件中LF和CRLF问题及解决

相关名词解释:

  • CR:Carriage Return,对应ASCII中转义字符\r chr(13),表示回车
  • LF:Linefeed,对应ASCII中转义字符\n chr(10),表示换行
  • CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行

进而了解到普遍使用的编辑器IDEA因为默认是Windows使用场景,所以换行符的默认设置为CRLF;但Shell脚本是在Linux下运行,则需要被替换为http://www.chinasem.cnLF

在IDEA右下角,除了编码格式以外,还有个Line Separator


IDEA和GIT关于文件中LF和CRLF问题及解决

废话不多说,为了解决问题,就立马着手将所有的Shell脚本改成了LF

1、一劳永逸,杜绝后续类似问题的出现,可将IDEA的默认配置修改为了LF


IDEA和GIT关于文件中LF和CRLF问题及解决

*最后的选项,大致是允许IDEA的配置覆盖重写代码的样式设置;可视自身情况选择或取消,与本文影响不大

2、兴致冲冲,将修改后的代码提交后,让测试同事重新验证,emmm对面拉取的还是CRLF。尴尬要犯了

  • 首先怀疑是git未能识别到CRLF和LF这类修改
  • 尝试将文件删除后commit & push再新增LF格式文件后js commit & push失败!!!
  • 在搜了Git LF和CRLF问题后,发现此事儿有点猫腻

git的默认设置中有一个字段:core.autocrlf ,作用就是:

在push的时候会把CRLF转换成LF;pull的时候则会把LF转换成CRLF

原本Git这个自动转换的配置是在做好事儿,但是却坑苦了不懂它的人… …

OK!!!明白了原理,那么解决思路就来了

解决过程

以下命令在Git Bash中执行即可

  • 场景一、代码在window提交,在windows使用(即默认场景)
$ git config --global core.autocrlf true
  • 场景二、代码在windows提交,在Linux或者MAC系统或者Jenkins上专门打包为服务器使用,无需Git在pull时进行自动转换;(即Git在push时把CR编程LF转换成LF,pull时不转换javascript
$ git config --global core.autocrlf input
  • 场景三、不想要Git自动转换:
$ git config --global core.autocrlf false

综上:

1、编辑器本身的换行符问题

2、Git在提交和拉取过程的自动转换问题

问题解决!!!

php

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持China编程(www.chinasem.cn)。

这篇关于IDEA和GIT关于文件中LF和CRLF问题及解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1156113

相关文章

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

解决java.util.RandomAccessSubList cannot be cast to java.util.ArrayList错误的问题

《解决java.util.RandomAccessSubListcannotbecasttojava.util.ArrayList错误的问题》当你尝试将RandomAccessSubList... 目录Java.util.RandomAccessSubList cannot be cast to java.

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤