喜闻乐见的git autocrlf问题

最近在启动一个项目的时候,突然就很莫名的报出一个秘钥签名失败,要知道作为一个菜鸟,这种配置基本都是不会自己改的,如果要改,也是和前辈确认再三才会下手,但是出现问题了,就得解决问题。
终于,在我不懈努力下,果然没有找到问题出在哪,还得看师父的。
是两个秘钥文件出现的问题,在对比了两个文件16进制内容后,自己本地的文件要比远程仓库中的文件大几K,究其原因是换行符的问题,也就是autocrlf的设置问题。
众所周知,操作系统不同,换行符也是有不同的

  • windows中的换行符为crlf
  • mac/unix中的换行符是lf
    远程仓库为lf,因此windows中的文件,如果上传到远程仓库中去的话,是会出现问题的,如果是Java代码的话,无伤大雅,如果是秘钥文件,任何差池都是不能有的,,因此需要做一些处理。
    core.autocrlf设置选项有:
true Windows默认选项,如果设置为该项,push代码的时候,会将push到代码仓库的代码切换为LF,当从远处仓库pull代码的时候,会将保存到本地的代码设置为CRLF。
false Linux下默认为该选项,即无论push还是pull代码,都不对代码的换行符进行转换。
input 如果设置为该项,push代码的时侯,会将push到代码仓库的代码切换为LF模式,当从远程代码仓库pull代码的时候,不会转换代码的换行符。

git的范围:system>global>local
优先级与范围相反,越小的环境配置参数的优先级越高
建议:
Windows系统的不用设置,使用默认选项true即可。
macOS系统建议使用input

非官方的黑话:
标准化 指在提交代码到git数据库(本地库) 中将文本文件中的换行符CRLF转为LF的过程
转换 指在检出Git数据库代码过程中将文本文件中的换行符LF转换为CRLF的过程

相比于配置core.autocrlf的值,git官方提供了更加优秀的解决方案:出处 ,待自己有空以及水平更近一部时,可以再来了解下这个配置文件的优秀之处。

gitattributes配置文件,在这个文件中可以针对一些具体类型文件做不同的处理,,并且一个项目中可以同时存在多个这样的配置文件。

感想:今晚专门花费了一定的时间,来记录下最近的问题,值得记下的问题,暂时就这两个,为了能让问题更加有说服力,也为了自己能进一步明白这写问题的本质,所以看了不少其人写的文章。
从心底同意了师父之前说的一句话,别人写的文章,就像是别人吃过的饭,尽量少吃,要自己多看源码。形形色色的描述冲突,甚至错误(在目前看来是错误的),因为我自己也看不懂git的官方文档,翻译了一大堆,也没找准地方,费时费力,还没方向,就及时放弃了。
怎么说呢,类似于这种东西,可以自己尝试一下,试一下就什么都知道了,在本地(windows)中可以随便写个txt文件,加上换行,然后16进制打开,然后提交到远程,然后根据不同的配置,将不同的远程文件也根据16进制打开,对比一下结果就什么都一目了然了。时间比较紧,这个事情等有空了可以尝试一下。
怎么描述呢,感觉一言难尽,付付还是谁说过,面向百度编程,我很赞同,但是百度上的东西良莠不齐,鱼龙混杂,没有详细的琢磨过,真的无法体会,到了自己身上了,经历过了,解决了,才会成为自己的一部分,而不是看着网上的教程,踩着别人的就脚印一步步过去,就算是自己吧问题解决了,当然,这也叫解决问题,但是不叫经历,不叫成长。

喜闻乐见的git autocrlf问题相关推荐

  1. Mobaxterm中使用git log报错/bin/busybox.exe less -R no such file or directory

    如果在打开设置-->Terminal-->勾选Use Windows PATH environment,可以使用部分git命令 使用git log时就会报错/bin/busybox.exe ...

  2. git(一)不同情景下的git用法

    远程的仓库可以是github.coding.码云.gitee等等 文章目录 前言 一 初始设置 1.1 安装 1.2 其他配置 情景1:向远程仓库上传一个文件 情景2:将本地的仓库推送到GitHub ...

  3. git配置中的CRLF、LF、CR

    基本 CRLF: Carriage-Return Line-Feed的缩写,意思是回车换行,即\r\n; LF: Line-Feed的缩写,意思是换行,即\n; CR: Carriage-Return ...

  4. git换行符之autoCRLF配置的意义

    关于git换行符处理的问题,我查了一查,自己的设置中,global-config中设了autocrlf=false,systemwide中将autocrlf设成了true. 关于配置的作用域,syst ...

  5. Git中的AutoCRLF与SafeCRLF换行符问题

    最近在使用GitHub,发现不时没有修改过的文件要提交,对比发现文件全部修改,但找不到不一样的地方. 想可能是换行符的问题,因为Windows和Linux的换行符不一样,而Git默认应该是Linux的 ...

  6. git core.autocrlf配置说明

    git core.autocrlf配置说明 格式化 格式化是许多开发人员在协作时,特别是在跨平台情况下,遇到的令人头疼的细小问题. 由于编辑器的不同或者Windows程序员在跨平台项目中的文件行尾加入 ...

  7. git config —global_Git多用户配置

    备注: 如下的操作,Windows系统建议在Git bash工具里操作. 如下操作的原理,建议查阅官方文档.Git - Reference 1.取消全局设置的用户信息. Git命令: $ git co ...

  8. git在不同操作系统下自动替换换行符

    2019独角兽企业重金招聘Python工程师标准>>> 一天使用docker创建一个镜像执行报一个错 standard_init_linux.go:175: exec user pr ...

  9. Git——如何将本地项目提交至远程仓库(第一次)

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库. git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数 ...

最新文章

  1. 一个html5页面,html5做一个黑板报页面
  2. 稳坐视频云行业第一,阿里云将用边缘计算开辟新赛道
  3. 构建scala+IDEA+sbt开发环境
  4. 系统总结vue组件间通信、数据传递(父子组件,同级组件)
  5. open×××+Mysql+PAM构建强大的***系统
  6. windbg-内存破坏实例分析
  7. linux 如何连接无线网卡,CentOS 7如何连接无线网络
  8. db2 修改表空间自增长_什么是表?什么是表空间?什么是MySQL的表空间?
  9. localStorage 简单示例
  10. MFC初探 —— 设置软件开机自启
  11. Replica set 的选举策略之一 (转)
  12. python股票自动交易系统_怎样用 Python 写一个股票自动交易的程序
  13. 计算机人文英语1形考答案,国开《人文英语1》形考任务(单元自测1至8)试题及答案...
  14. 欧姆龙 Omorm FINS通讯实例C#
  15. Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈)
  16. 支付宝 ACQ.TRADE_NOT_EXIST 解决方案
  17. Unity性能优化方法总结
  18. 折叠屏领衔 1亿累计用户的vivo X系列战高端
  19. 如何在 微软Microsoft 官网 下载 office365
  20. Centos 6.9 Install dubbokeeper

热门文章

  1. pac文件提取服务器,[工具使用] privoxy 实现 PAC 请求过滤
  2. 突发奇想nico爬虫
  3. 链路追踪:SkyWalking
  4. platformIO 自定义板子方法
  5. 如何使用云服务器进行系统设置,云服务器怎么设置管理员
  6. JS---Cookies完整介紹 申精!
  7. 本地安装nginx部署项目
  8. 仓库搬仓实施过程参考
  9. 详解卷积神经网络的卷积过程--简单明了
  10. Win 7+CentOS 7双系统安装血泪史T_T