常见 git 问题
文件名大小写问题
由于 git 默认对大小写不敏感,如果文件名从小写变成了大写之后,无法发现文件有变化导致没有提交到仓库。
更可怕的是 mac 也是大小写不敏感,经常出现到本地可以运行,到服务器就执行错误的情况。
为此,我们最好把 git 的默认大小写关闭。
下面的命令。
$ git config core.ignorecase false ## 对当前项目生效
$ git config --global --add core.ignorecase false ## 对全局生效
windows 下换行问题
在 Windows 上创建或者克隆代码,开发或者提交时,可能出现如下错误:
Delete `␍`eslint(prettier/prettier)
原因如下:
由于历史原因,windows下和linux下的文本文件的换行符不一致。
- Windows在换行的时候,同时使用了回车符 CR(carriage-return character) 和换行符 LF(linefeed character)
- 而Mac和Linux系统,仅仅使用了换行符 LF
- 老版本的Mac系统使用的是回车符 CR
Windows | Linux/Mac | Old Mac(pre-OSX |
---|---|---|
CRLF | LF | CR |
'\n\r' | '\n' | '\r' |
因此,文本文件在不同系统下创建和使用时就会出现不兼容的问题。
解决方案如下:
设置全局 git 文本换行
$ git config --global core.autocrlf false
注意:git 全局配置之后,你需要重新拉取代码。
如您使用的是vscode编辑器,解决方案如下:
在编辑器右下角将CRLF
手动更改为LF
此方法仅可修改当前文件的换行符,使用vscode新建文件换行符还为CRLF
,可在settings.json
中增加以下配置
"files.eol": "\n",
参考: