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

这篇具有很好参考价值的文章主要介绍了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还有其他的一些功能,我们可以加以利用解决生产中的一些细节需求。文章来源地址https://www.toymoban.com/news/detail-611524.html

到了这里,关于Git在Windows下 自动转换换行符 LF CRLF 的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • windows中的换行符

    用连续两个换行符来分隔文本 Regex reg = new Regex(@\\\"nn\\\"); string[] s = reg.Split(this.richtextbox1.text); 结果正常 Regex reg = new Regex(@\\\"nn\\\"); string[] s = reg.Split(System.IO.File.ReadAllText(txtfilepath)); 没有达到分割效果 所以稳定起见改成Regex reg = new Regex(@\\\"(nn)|(rnrn)\\\");就OK了

    2023年04月09日
    浏览(36)
  • Git 中换行符问题处理

    实习入职第一周就中遇到了一个问题,代码中新增了 shell 脚本,但是放到服务器上执行时,发生了 shell 脚本执行错误,这个是由于不同 OS 系统换行符不同而引起的问题,导致DolphinScheduler调度任务失败,在此记录。 r (return):表示回车,就是回到本行的行首 n (newline):表示

    2024年02月03日
    浏览(31)
  • 一文搞清UNIX/Linux与Windows文件换行符格式差异

    当一个文件在Windows和Linux上交替操作后,经常遇到一些莫名其妙的问题,如shell脚本无法执行,找不到shell脚本等问题,本文j谨就这一问题做一总结,供各位参考; 本博客地址,https://blog.csdn.net/qxhgd,欢迎各位关注,转发请注明出处。 换行符是行尾 (EOL),是一个特殊的字

    2024年02月15日
    浏览(29)
  • 从命令行向’git commit -m’添加换行符------转

    bashgitshell 我从命令行使用Git,并尝试在提交消息中添加换行符(使用git commit -m\\\"\\\")而不进入Vim。 这可能吗?  相关讨论 作为一个注释,这里有一个链接,它总结了良好的提交消息约定 - github.com/erlang/otp/wiki/Writing-good-commit-messages,如果它可以帮助某人。 像GIT_EDITOR=\\\"emacs\\\" git com

    2024年02月13日
    浏览(32)
  • 【bug记录】-Linux与Windows中的文件换行符不同导致的格式问题

    当你从Windows移动文件到Linux系统时,可能会遇到文件格式问题。这通常涉及到文本文件的换行符(line endings)格式。 在Windows中,换行符是\\\"rn\\\"(Carriage Return + Line Feed) 而在Linux中,换行符是\\\"n\\\"(Line Feed)。 解决这个问题的方法之一是使用工具来转换文本文件的换行符格式。

    2024年02月04日
    浏览(37)
  • git config --global core.autocrlf input (在检出代码时不自动转换行尾,在提交代码时自动将行尾转换为LF)CRLF will be replaced by LF

    我们一般希望远程仓库中的代码为LF,就用: git config --global core.autocrlf input 就ok了。 这是一个Git的配置命令,它的作用是告诉Git在检出代码时不要自动将行尾转换为CRLF(Windows风格的换行符),而是保留原来的LF(Unix风格的换行符)。 core.autocrlf input 的意思是告诉Git在检出代

    2024年02月09日
    浏览(36)
  • Perl区分文件换行符类型

    在Windows上使用Perl判断文件时何种换行符时,处理CR LF类型的换行符时,也识别成了LF。 Windows上的换行是 CRLF , Unix上是 LF , Mac CR 在Windows平台使用Perl读取文件创建文件句柄时,未对file handler设置binmode,了解到binmode模型作用是采用非二进制读取模式时,双字节换行符CR LF在读取

    2024年02月07日
    浏览(34)
  • notepad++去除换行符和空格

    在notepad++中按Ctrl+h 1.去除换行符 输入如图所示的查找内容为rn,【替换为】不填写,勾选底部的【正则表达式】,然后点击【全部替换】 2. 按照逗号换行 输入如图所示的查找内容为,,【替换为】rn,勾选底部的【正则表达式】,然后点击【全部替换】   2.去除空格 在替换

    2024年02月12日
    浏览(52)
  • Python如何换行】:使用换行符来实现多行代码的编写和阅读

    在Python中,有时候我们需要编写较长的代码行,为了提高可读性和美观性,我们可以使用换行符来将代码分成多行。下面我将详细介绍如何在Python中实现换行,并提供相应的源代码示例。 在Python中,我们可以使用反斜杠()作为换行符。当我们在一行代码中使用反斜杠作为

    2024年02月06日
    浏览(38)
  • go字符串去除首尾所有换行符

    原创不易,如果对你有帮助,欢迎给作者点个赞哦! 一键开启舒适、快捷: 调用: 效果:

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包