1. 问题描述
在git add . 的时候出现如下Warning:

警告:待add的文件(App.vue, main.js...)中的LF将会使用CRLF替换,但工作区中的文件仍然使用原有的结束符。
( LF与CRLF都是结束符,文末有详细说明 )
2. 原因简介
出现上述警告的原因可能是:
①你使用了到别人的开源代码,该代码开发于非Windows环境
②与你协同开发的同事A使用非Windows系统提交代码
③Git在Windows环境下默认设置core.autocrlf为true
如下是core.autocrlf可选值及其作用:

简单翻译:
| true | 当签出文本文件时Git自动将其LF换成CRLF,在提交时再自动换回LF;在Windows环境跨平台协同开发时推荐使用此值 |
| input | 签出文件时不转换,提交文本文件时将CRLF转换成LF;在Unix环境跨平台协同开发时推荐使用此值 |
| false | 签出/提交代码时都不会做任何转换操作;单一Windows环境下开发时推荐此值 |
3. 解决方法
git config core.autocrlf false
git config core.autocrlf input
git config core.autocrlf // ==> true
//上述修改仅对当前Git仓库生效, 如需全局可添加 --global 参数
// Bonus time
不同系统换行符的不同表示:
| 系统 | 换行符 | 全称 |
|---|---|---|
| Linux/Unix | LF | LineFeed(换行) |
| Mac | CR | CarriageReturn(回车) |
| Windows | CRLF | CarriageReturn+LineFeed(回车+换行) |
本文解析了在Git中遇到的LF与CRLF换行符转换警告,阐述了其背后的原因,包括跨平台代码共享及Git默认设置的影响,并提供了三种配置解决方案,帮助开发者在Windows环境下更顺畅地进行跨平台协同开发。
842

被折叠的 条评论
为什么被折叠?



