【问题标题】:Is there any risk or disadvantages of using: git config --global core.autocrlf false使用是否有任何风险或缺点: git config --global core.autocrlf false
【发布时间】:2016-11-19 06:43:07
【问题描述】:

我正在使用 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.

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

git config --global core.autocrlf false

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

【问题讨论】:

    标签: git bash github phpstorm core.autocrlf


    【解决方案1】:

    简而言之,它不应该有所作为。

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

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

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

    【讨论】:

    • “Unix 系统可以很好地识别 CRLF 行结尾”对于所有 Unix 系统不正确。例如,在 SLES 10 上以 CRLF 结尾的 bash 脚本会报错,抱怨未知的^M 字符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2011-11-07
    • 2022-10-30
    • 2016-07-08
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多