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(回车+换行) |