zoukankan      html  css  js  c++  java
  • 错误 warning: LF will be replaced by CRLF in README.md.

    问题类型

    windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以在执行add . 时出现提示:warning: LF will be replaced by CRLF in README.md. The file will have its original line endings in ;

    $ git add .
    warning: LF will be replaced by CRLF in 工欲善其事,必先利其器/README.md.
    The file will have its original line endings in your working directory.
    warning: LF will be replaced by CRLF in 谁能九层台,不用累土起/README.md.
    The file will have its original line endings in your working directory.

    问题原因

    设置 core.autocrlf=true 后:检出时,git 会把文本文件的换行符转化为 CRLF(只转化纯 LF 的文件)提交时,把暂存区的内容(也就是我们对工作区做的改动)转化为 LF 然后放入版本库。转化暂存区的内容时,如果发现里面存在 LF 换行符,LF 会被转化成 CRLF,并给出题主提到的那条警告:”LF will be replaced by CRLF”这句警告的下面其实还有一句很重要的话:warning: LF will be replaced by CRLF in . 
    The file will have its original line endings in your working directory. 
    (翻译下就是:“在工作区里,这个文件会保持它原本的换行符。”) 

    简单来说,设置 core.autocrlf=true 后,我们工作区的文件都应该用CRLF 来换行。如果改动文件时引入了 LF,或者设置 core.autocrlf 之前,工作区已经有 LF 换行符。提交改动时,git 会警告你哪些文件不是纯 CRLF 文件,但 git 不会擅自修改工作区的那些文件,而是对暂存区(我们对工作区的改动)进行修改。

    最佳解决方案

    • 直接设置core.autocrlf=false; 

    除了记事本编辑不可以,其他都可以 

    git config -–global core.autocrlf false // 禁用自动转换
    
    git rm -rf cached ./ // 清除添加到缓存区的缓存
    
    git add .
    
    git commit -m "提交备注信息"
    
    git push origin master  // 推送到远程仓库

      

  • 相关阅读:
    ES之2:海量数据处理之倒排索引
    架构-伸缩性
    ES之3:elasticsearch优化收集
    架构-扩展性
    关于静态方法与非静态方法的执行效率
    架构师
    拖库 洗库 撞库
    SOA架构设计经验分享—架构、职责、数据一致性
    mysql索引之五:多列索引
    mysql索引之四:复合索引之最左前缀原理,索引选择性,索引优化策略之前缀索引
  • 原文地址:https://www.cnblogs.com/ryxiong-blog/p/11268952.html
Copyright © 2011-2022 走看看