0


巧用Git解决讨厌的换行符 CRLF 与 LF

    相信好多兄弟在pc写代码开发系统,然后系统在linux运行。但是它们的换行符是不一样的,分别是 CRLF 与 LF。虽然大部分文件不受影响,但是一些配置文件,比如shell文件还是会受到影响的。要特别注意,否则一时想不到就出问题,并且出了问题还不好定位。

    现在Git大行其道,逐渐代替svn。其中Git有一项目配置,很好的解决了换行符的问题。这个参数是core.safecrlf。它有三个值,命令的格式如下:
     git config --global core.autocrlf [false|input|true] 
     参数说明:

    false:不做任何转换,相关于没有这个功能。它保证代码的源汁原味,这时git仓库代码与本地pc开发代码一致。适用于大型团队的专职代码发布,环境部署人员。不需要开发代码,只是用来打包部署。
     input:它是半自动转换。表示只有向git仓库提交代码时,自动转换为UNIX模式,即LF。而从Git仓拉代码时不会转换。如果有些团队中的复合性人才,需要写代码,改配置,又要打包去linux发布环境。这时设为input,写完代码上传到Git,自动转为UNIX模式。而下载到本地时不转换,保证了下的代码为UNIX模式,即换行为LF。
     true:它是全自动转换。本地pc模式开发,上Git时自动转为UNIX,下载时自动转为pc模式。它适合全职开发人员,不用操心部署。反正我看到的全都是pc模式,转来转去的,都交给Git吧,我就不操心这个了,Git相当于全职保姆,爽歪歪。

    光这个还不够,谁能保证文件原来是UNIX模式,加了新代码为pc模式,或者反过来,一个文件中混合了两种模式?别急,还有一个命令,它是专门来检查是否二合一,出手的代码成串串的。即:core.safecrlf

    core.safecrlf 用户检查是否混用换行符。
     命令的格式如下:
     git config --global core.safecrlf [false|warn|true] 
     参数说明:

    false:不做任何检查
     warn:在提交时检查并警告
     true:在提交时检查,如果发现混用则拒绝提交
     建议使用最严格的 true 选项。初步开始不熟悉的情况下,可以使用 warn 作为参数。
标签: 笔记 经验分享 git

本文转载自: https://blog.csdn.net/tongxiling198/article/details/136333717
版权归原作者 万家灯火198 所有, 如有侵权,请联系我们删除。

“巧用Git解决讨厌的换行符 CRLF 与 LF”的评论:

还没有评论