git 换行问题_解决 Git 换行符自动转换问题的方法

事情发生背景:

使用IDEA从gitlab上面下载项目,修改代码后打包部署,项目使用maven-assembly-plugin插件打包成多环境部署zip包。

结果:

其他同事均正常部署,而出自我本地打包的项目偏偏无法部署,

最后各种文件对比,发现项目中主要执行文件server.sh文件格式为doc,而linux中文件格式为unix。所以开始查看本地编码格式,git环境的编码格式,发现本地sh格式为doc,git上sh的格式为unix,那么是哪个步骤出现了问题呢。

最后在一篇文章中发现了结果,

Git 作为一个源码版本控制系统,提供了一个“换行符自动转换”功能。既:当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。同时GIT的这个功能默认处于“自动模式”。

 因此本地打包sh的格式就会根据本地系统来确定。

那么要如何才能关闭git的这一功能呢?

方法

针对已经安装GIT环境来说,打开“Git Bash”,

然后输入:git config --global core.autocrlf false

之后删除项目,重新从GIT上下载项目,重新打包部署

问题解决。

参考链接:git 换行问题_解决 Git 换行符自动转换问题的方法_weixin_39854326的博客-CSDN博客