【Git】warning: in the working copy of ‘...‘, LF will be replaced by CRLF the next time Git touche

这篇具有很好参考价值的文章主要介绍了【Git】warning: in the working copy of ‘...‘, LF will be replaced by CRLF the next time Git touche。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

执行git add .的时候出现的警告

解释:CR/LF是不同操作系统上使用的换行符:

  • CR(CarriageReturn回车'\r'):回到一行的开头,ASCII代码是13
  • LF(LineFeed换行'\n'):另起一行,ASCII代码是10

应用情况:

  • DosWindows平台: 使用回车(CR)和换行(LF)两个字符来结束一行,回车+换行(CR+LF),即“\r\n”;所以我们平时编写文件的回车符应该确切来说叫做回车换行符。
  • Mac Linux平台:只使用换行(LF)一个字符来结束一行,即“\n”;

许多 Windows 上的编辑器会悄悄把行尾的换行(LF)字符转换成回车(CR)和换行(LF),或在用户按下 Enter 键时,插入回车(CR)和换行(LF)两个字符。

影响:

  1. 一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;
  2. 而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
  3. Linux保存的文件在windows上用记事本看的话会出现黑点。

这些问题都可以通过一定方式进行转换统一,例如,在linux下,命令unix2dos 是把linux文件格式转换成windows文件格式,命令dos2unix 是把windows格式转换成linux文件格式。

解决问题:

情况一:windows用户

Git 可以在你提交时自动地把回车(CR)和换行(LF)转换成换行(LF),而在检出代码时把换行(LF)转换成回车(CR)和换行(LF)。因为git 的 Windows 客户端基本都会默认设置 core.autocrlf=true

git config --global core.autocrlf true
#提交时转换为LF,检出时转换为CRLF:

情况二:linux/mac用户

Git 在检出文件时不需要进行自动的转换。然而当一个以回车(CR)和换行(LF)作为行结束符的文件不小心被引入时,你肯定想让 Git 修正。 所以,你可以把 core.autocrlf 设置成 input 来告诉 Git 在提交时把回车和换行转换成换行,检出时不转换:(这样在 Windows 上的检出文件中会保留回车和换行,而在 Mac 和 Linux 上,以及版本库中会保留换行。)Linux 最好不要设置 core.autocrlf,因为这个配置算是为 Windows 平台定制;

#提交时转换为LF,检出时不转换
$ git config --global core.autocrlf input

情况三:Windows 程序员

如果你正在开发仅运行在 Windows 上的项目,可以设置 false 取消此功能,把回车保留在版本库中:

#提交检出均不转换
git config --global core.autocrlf false
你也可以在文件提交时进行safecrlf检查

#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true   
 
#允许提交包含混合换行符的文件
git config --global core.safecrlf false   
 
#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn
通俗解释

Windows 上设置 core.autocrlf=false,仓库里也没有配置 .gitattributes,很容易引入 CRLF 或者混合换行符(Mixed Line Endings,一个文件里既有 LF 又有CRLF)到版本库,这样就可能产生各种奇怪的问题。文章来源地址https://www.toymoban.com/news/detail-798431.html

到了这里,关于【Git】warning: in the working copy of ‘...‘, LF will be replaced by CRLF the next time Git touche的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Git 提示 “warning: LF will be replaced by CRLF“的思考

      在windows平台进行 git add 时, 控制台有时会打印警告 warning: in the working copy of ‘XXX.sh’, LF will be replaced by CRLF the next time Git touches it.   查看了一些资料, 大概弄清了 core.autocrlf 配置选项的作用: git config --global core.autocrlf true 适用于Windows系统, 且一般为Windows默认设置, 会在提

    2024年01月18日
    浏览(43)
  • LF will be replaced by CRLF the next time Git touches it

    问题 在执行 git add . 的命令的时候警告 LF will be replaced by CRLF the next time Git touches it 原因 在windows中的换行符为  CRLF , 而在linux下的换行符为: LF 使用git来生成工程后,文件中的换行符为LF, 当执行git add .时,系统则提示:LF 将被转换成 CRLF 解决 关闭git的CRLF rm -rf .git git co

    2024年02月05日
    浏览(34)
  • Git: ‘LF will be replaced by CRLF the next time Git touches it‘ 问题解决办法

    warning: in the working copy of \\\'SafariJs/雪花飘飘.js\\\', LF will be replaced by CRLF the next time Git touches it windows平台进行 git add 时,控制台打印警告warning: in the working copy of ‘XXX.py’, LF will be replaced by CRLF the next time Git touches it Dos/Windows平台默认换行符:回车(CR)+换行(LF),即’rn’ Mac/

    2024年02月05日
    浏览(33)
  • Git提交代码时出现: ‘LF will be replaced by CRLF the next time Git touches it‘

    windows平台进行 git add 时,控制台打印警告 1. Dos/Windows平台默认换行符:回车(CR)+换行(LF),即’rn’ 2. Mac/Linux平台默认换行符:换行(LF),即’n’  企业服务器一般都是Linux系统进行管理,所以会有替换换行符的需求 设置方法一: 适用于Windows系统,且一般为Windows默

    2024年04月25日
    浏览(53)
  • 让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

    大家好,我是小饼鹅,让我们一起学习吧   如果我们正在应用的windows系统进行开发工作的话,我们很有可能在对代码进行git add 的时候会看到以下warning: LF will be replaced by CRLF the next time Git touched it 很多人可能并不会特别在意,因为它貌似并没有对我们产生什么影响,可是真

    2024年02月09日
    浏览(32)
  • 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)
  • git 提交换行符问题:LF would be replaced by CRLF

    提交git 记录时,遇到问题 原因 : 是因为git换行符的导致Unix/Linux使用的是LF,Mac后期也采用了LF,但Windows一直使用CRLF 解决方案:禁止转换文件格式,其次允许提交换行符的文件 打开命令行,执行以上两个命令: 执行完后,切换回到git 工具,进行提交,这里是sourcetree, 从下图

    2024年02月06日
    浏览(25)
  • Linux服务器报错解决The git executable must be specified in one of the following ways: - be included in

    在利用深度学习服务器,利用Xshell进入端口,想要运行深度学习项目时碰到了以下错误: Traceback (most recent call last):   File \\\"/opt/conda/envs/[yolov5_SE]/lib/python3.9/site-packages/git/__init__.py\\\", line 166, in module     refresh()   File \\\"/opt/conda/envs/[yolov5_SE]/lib/python3.9/site-packages/git/__init__.py\\\", line

    2024年02月02日
    浏览(36)
  • [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent..

     错误:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop\\\'s value. Prop being mutated: \\\"value\\\". 译文:[Vue警告]:避免直接改变prop,因为每当父组件重新呈现时,该值将被覆盖。相反,应该使用基于

    2024年02月12日
    浏览(36)
  • [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent c

    报错翻译:避免直接更改一个prop,因为每当父组件重新渲染时,该值都会被覆盖。相反,应使用基于prop值的数据或计算属性。正在更改的prop:“activeId” 解决办法,使用基于prop的值,即把名为activeId的prop的值放在另一个变量中,对那个变量进行修改,不修改activeId。 1、实

    2024年02月03日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包