Skip to main content
Version: 3.0.0

常见 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
WindowsLinux/MacOld Mac(pre-OSX
CRLFLFCR
'\n\r''\n''\r'

因此,文本文件在不同系统下创建和使用时就会出现不兼容的问题。

解决方案如下:

设置全局 git 文本换行

$ git config --global core.autocrlf false

注意:git 全局配置之后,你需要重新拉取代码。

如您使用的是vscode编辑器,解决方案如下:

在编辑器右下角将CRLF手动更改为LF

此方法仅可修改当前文件的换行符,使用vscode新建文件换行符还为CRLF,可在settings.json中增加以下配置

"files.eol": "\n",

参考: