文章目录
遇到的问题
很多时候我们做开发是在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还有其他的一些功能,我们可以加以利用解决生产中的一些细节需求。
版权归原作者 还好2333 所有, 如有侵权,请联系我们删除。