关于git CRLF LF结尾的问题
2024-08-27 03:00:04
在使用git的过程中,如果我们的项目是跨平台开发的 那么CRLF的处理也许会成为一个很头疼的事情,有可能会出以下的莫名其妙的问题:
我们的某个开发人员在linux上提交的一个文件
当从windows上pull下来后,没做任何的修改,查看其status,它的状态已经是modifed了
即使你使用git checkout -f来恢复改文件,它的状态仍然是modified,
真是郁闷… 后来,才发现就是CRLF惹的祸
我们都知道,在Windows上是CRLF来作为一行的结束符,而Linux上则是LF作为行结束符
在git中提供了autocrlf的设置,可以用来自动转换CRLF,它可以设置成true,false,input
Windows上的msysgit默认设置了autocrlf为true 这样,在提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF 这样保证了从windows平台上提交的代码,都是以LF作为行结束符
在linux平台上,git默认设置autocrlf为false,也即它不会自动处理CRLF 这样就有一个问题,如果我们把windows上的一个文件给上传到linux上,并提交
那么,提交到仓库中的代码就会以CRLF来换行了, 这样就会导致我们在windows上查看改文件的状态就会是modified 解决这个问题有以下2个办法:
- 在Linux上设置autocrlf为input,这样,Git在提交时把CRLF转换成LF,签出时不转换
- 对于从Windows上直接拷到Linux上的文件,首先把它转换成linux格式后,再进行提交
最新文章
- Debian8升级4.5内核
- IOS开发基础知识--碎片46
- <;input />;文字方框中,字体颜色的变化 要求默认的字体颜色是灰色,当要输入字时,字体是正常的黑色
- Mysql varchar大小长度问题介绍
- sql server备份相关
- 两年后的随笔+this的思考
- Standford NLP study
- Flask入门第三天
- ubuntu google chrome 忽略证书错误 -- 解决自签名证书不支持的问题
- Vue框架是什么,有什么特点,怎么用
- mysql查询根据时间排序
- Windows下调试hadoop
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
- 洛谷 P1123 取数游戏
- linux运维工程师工作中的一些常见问题解决方法
- 有人问thinkphp的标签解析的时候为什么出现标签内内容空格丢失
- python初识(三)
- FFmpeg 入门(6):音频同步
- VS2013命令行界面查看虚函数的内存布局
- 使用OllyDbg破解软件
热门文章
- Java全栈程序员之03:Ubuntu下安装idea
- App架构师实践指南一之App基础语法
- C++中extern “C”含义及extern、static关键字浅析
- PHP7通过yum源安装及性能测试
- 利用Xmanager Enterprise 5的passive显示远程linux主机图形化信息
- windows下vbs脚本隐藏控制台
- Java 8系列之Stream的基本语法详解
- Linux 系统实时监控的瑞士军刀 —— Glances
- tsung -- 压力测试利器
- Apache Spark 2.3.0 重要特性介绍