使用 git config --global core.autocrlf false 是否有任何风险或缺点

Per*_*ika 5 git bash github core.autocrlf phpstorm

我使用Windows和 PHPStorm IDE 进行 Web 开发。在 Git Bash 中,当我想添加 ( git add .) 或commit- 时,会出现数百个这样的警告:

warning: LF will be replaced by CRLF in ...
The file will have its original line endings in your working directory.
Run Code Online (Sandbox Code Playgroud)

但是如果我在 Git Bash 中执行以下操作:

git config --global core.autocrlf false
Run Code Online (Sandbox Code Playgroud)

不再有这些警告。core.autocrlf设置为有任何风险或缺点false吗?或者我不应该担心?正如我已经写过的,我正在使用 Web 应用程序(php 文件、html 文件、css...稍后将被推送到 GitHub 上的某个远程代表或复制到生产 Linux 服务器...)。对不起,我的英语不好。

Seb*_*icz 3

简而言之,这应该没有什么区别。

在Windows下,标准的行结束格式是回车符后跟换行符(CRLF简称),而在Unix世界中,仅使用换行符(LF简称)。这就是您git警告您的内容 - 它想要更改以它提交的文件结尾的行类型,即使它在您的本地工作目录中没有更改。

大多数 Unix 系统可以CRLF很好地识别行结尾,但 Windows 文本编辑器偶尔会遇到 Unix 风格的行结尾问题(记事本是最显着的例子)。由于git正在从 Unix 风格转换所以应该没问题。即使不是,您也可能没问题,因为 Windows 世界中大多数开发人员的文本编辑器都可以处理 Unix 风格的行结尾。

显然,如果您的代码库包含某种依赖于其输入中的特定行结束类型的手动代码生成器(或类似的东西),那么这可能会有点超出预期。但是,如果您有这样的生成器,那么可以安全地假设您可能知道与不同行结束样式相关的风险/问题。