Git在Windows下 自动转换换行符 LF CRLF 的解决方案

遇到的问题

很多时候我们做开发是在Windows下,然后需要部署到Linux环境,但他们的换行符是不一样的,而Git默认的设置会开启转换,也就是文件在Git存储的时候都是LF ,然后我们在Win下拉代码,就会自动转换成CRLF,如果我们需要在Win下做调试,就很麻烦,而如果我们关闭自动转换,在代码提交的时候就会遇到问题,有什么更优解呢?

解决方法

使用 .gitattributes 文件指定文件的换行符格式,可以在不同操作系统下保持一致。例如,* text=auto 表示 Git 自动检测文件类型并进行转换。

.gitattributes 文件是用来指定 Git 版本库中的文件属性,主要包括文件类型和换行符等。这个文件,我们可以自定义 Git 对特定文件的处理方式,我们可以用它来解决这个问题。

指定换行符格式:

*.sh eol=lf

上面的代码表示,在 Git 版本库中,所有的 Shell脚本文件将强制使用 LF 格式的换行符

操作步骤

1.指定.gitattributes 文件 我这里以全局配置为例

在 Git 配置文件中设置 core.attributesfile 属性:

git config --global core.attributesfile ~/.gitattributes_global

~/:表示当前的用户目录下,比如C:\Users\xxx,/home/xxx

2. 填写.gitattributes_global内容

*.sh eol=lf

然后就大功告成啦,接下来拉代码,所有的Shell脚本都是LF换行符,这下在WIn下推送脚本不用担心这个问题了

总结

相信还是有不少小伙伴也有Win下开发然后需要在Linux环境做调试的需求,比如说脚本推送、Android开发等,可以通过以上方案解决换行符的问题。
.gitattributes还有其他的一些功能,我们可以加以利用解决生产中的一些细节需求。

猜你喜欢

转载自blog.csdn.net/qq_29687271/article/details/129904957