当前位置: 首页 > news >正文

git换行行为差异简述;.editorconfig换行行为简述

概述

1个项目开发过程中可能有多个人参与,而大家所使用的开发环境不一定相同,有的是mac有的是windows;在没有很好的规范git配置情况下,可能会出现换行符不一致的问题;

目前mac下的换行符是LF(\n);老mac上可能是CR(\r);
windows下是CRLF(\r\n)

这就会导致mac上新建的文件(所有内容换行都是LF),在win上修改了一行代码后,在推送到远端代码仓库后会显示整个文件都修改了;但其实只改了1行代码;其原因就是换行符在搞事情;

解决方式

我这边历史项目比较混杂,所以直接把core.autocrlf设置为了false;不然历史代码一堆commit都变我了LOL

git配置中的core.autocrlf属性
Gitcore.autocrlf配置项用于控制Git如何处理换行符。以下是几种常见的配置:

1-true:提交时将CRLF转换为LF,检出时将LF转换回CRLF
2-input:提交时将CRLF转换为LF,检出时不进行转换
3-false:提交和检出时都不进行转换(默认值

#全局配置demo
git config --global core.autocrlf input
#验证配置
git config --global --get core.autocrlf
#查看所有配置;以及配置来源
git config --show-origin --list

同时建议开启crlflf混用时的提醒

#一般core.safecrlf默认值是warn;如果不是warn可以修改为warn
git config --global core.safecrlf warn

core.safecrlf其他参数
1-true: 拒绝提交包含混合换行符的文件 (会提示 Fatal:xxx)
2-false: 允许提交包含混合换行符的文件
3-warn: 提交包含混合换行符的文件时给出警告 (默认值)

.editorconfig换行行为简述

除了git在提交代码的时候会对换行进行转换,项目中的这个配置也会对换行进行转换;
不过这个配置需要配合编辑器的插件来生效;

在应用了这个配置之后,即时只修改了1行代码,也会将整个文件的换行符重置为LF
在这里插入图片描述

插件
在这里插入图片描述

.editorconfiggit的区别;
git是在checkoutpush的时候进行转换
.editorconfig则是在save的时候就进行转换了

可以通过git命令查看修改的行数

#结果中第一列是增加的行数量,第二列是删除的行数量
git diff --numstat

在这里插入图片描述

http://www.dtcms.com/a/352644.html

相关文章:

  • 打工人日报#20250826
  • 【PS实战】制作hello标志设计:从选区到色彩填充的流程(大学作业)
  • springboot启动的时候,只打印logo,不打印其他的任何日志的原因
  • 【ElasticSearch】数据同步
  • 人形机器人的“奥运会“:宇树科技领跑,动捕技术成训练关键
  • git submodule的基本使用
  • 数据与端点安全 (Protect data and apps)
  • 利用 Python 爬虫按关键字搜索 1688 商品详情 API 返回值说明(代码示例)实战指南
  • 从零开始配置前端环境及必要软件安装
  • 技术总结:AArch64架构下Jenkins Agent(RPM容器编译节点)掉线问题分析与排查
  • 基于用户行为分析的精确营销系统
  • 【java并发编程】--cas和synchronized
  • openEuler Embedded 的 Yocto入门 : 2. 构建一个Hello,world!
  • PWM控制实现呼吸灯
  • 基于CentOS7:Linux服务器的初始化流程
  • 基于51单片机的指纹红外密码电子锁
  • 【Elasticsearch】k-NN 搜索深度解析:参数优化与分数过滤实践
  • Pascal使用TMediaPlayer播放MIDI文件时的错误
  • 红外遥控模块
  • 逻辑流图、作业图、执行图、物理图
  • 嵌入式软件移植
  • 【制作100个Unity游戏】从零开始构建类《月圆之夜》《杀戮尖塔》的卡牌游戏(附带项目源码)
  • Windows远程协助安全配置与使用限制
  • STM32G4 SVPWM VF开环强拖电机
  • 2026 届最新大数据专业毕设选题推荐,毕业设计题目汇总
  • 达索 Enovia 许可管理技术白皮书:机制解析与智能优化实践
  • 段式存储、页式存储、段页式存储:三种内存管理策略的演进与权衡
  • PyTorch生成式人工智能——PatchGAN详解与实现
  • Docker实战系列:使用Docker部署YouTrack项目管理系统
  • Linux修改bootflag(启动标签)到指定分区