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

git自动转换换行符问题

        在git上传、更新或者新增文件时会处理文本文件的换行符号。换行符在windows中默认为CRLF即“\r\n”,在linux中为LF即"\n"。如果不特殊配置如果仓库的文件换行符为LF,下载到windows会变成CRLF,下载到linux上还是LF。上传时windows环境的CRLF会转换成LF后上传。一般使用也没什么问题。在使用maven的openapi-generator-maven-plugin插件生成openAPI定义文件的代码的时候,生成的文件换行符为LF。有时定义文件只改了一个接口,在重新生成接口代码时,虽然文本内容只改动了一个文件,但是在提交时会显示所有文件都修改了,而其他文件只是换行符号不一致。这里本来就只需要对比确认一个文件的差异,但现在显示有差异的文件有几十个。这在代码提交时就大大的增加了比对的工作量。

        有两种解决方案,一个时让maven插件生成的代码使用CRLF换行,一个是使git将文本换行符设置为LF。

        前一种没有找到maven插件有这种设置的参数。git有设置换行符的参数,设置方式有多种。这里只需要设置特定目录下的文本换行符,在这个目录下增加.gitattributes文件。

*.java text eol=lf
上述参数设置意思是java类型文件按文本文件处理,文本换行符为lf。设置之后重新启动idea,文件的换行符号变成了lf,然后插件重新生成代码,此时git对比就只显示有内容产生变动的文件。

http://www.kler.cn/a/403642.html

相关文章:

  • python之开发笔记
  • 操作系统——揭开盖子
  • 如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
  • 最大熵谱估计
  • 菜鸟驿站二维码/一维码 取件识别功能
  • STM32芯片EXIT外部中断的配置与原理以及模板代码(标准库)
  • python实现了一个基于深度学习的少样本视觉识别任务,并涉及到领域自适应(Domain Adaptation)的相关操作
  • uniapp 选择 省市区 省市 以及 回显
  • 【PPTist】开源PPT编辑器初体验
  • `ls -l ~/.ssh` 命令将列出 `.ssh` 目录中所有文件
  • 【ChatGPT】实现贪吃蛇游戏
  • 【加入默语老师的私域】C#面试题
  • JAVA:探索 PDF 文字提取的技术指南
  • Spring Boot技术在实验室信息管理中的应用
  • php交友源码交友系统源码相亲交友系统源码php社交系统php婚恋源码php社区交友源码vue 仿交友社交语聊技术栈
  • 图文解说:MySQL核心模块知识和流程
  • 持续集成与持续部署:CI/CD简介
  • 机器学习—正则化和偏差或方差
  • 网络安全知识点
  • 网络安全服务(Network Security Services, NSS)
  • 重构代码之内联类
  • uniapp: 微信小程序包体积超过2M的优化方法(主包从2.7M优化到1.5M以内)
  • Selenium + 数据驱动测试:从入门到实战!
  • Chapter 2 - 16. Understanding Congestion in Fibre Channel Fabrics
  • R语言4.3.0安装教程【附安装包】
  • MySql 日期周处理方式