为什么要在Git中使用core.autocrlf = true?

丰富

我有一个可以从Windows和OS X访问的Git存储库,并且我知道已经包含一些带有CRLF行尾的文件。据我所知,有两种解决方法:

  1. 设置core.autocrlffalse无处不在,

  2. 按照此处的说明(在GitHub帮助页面上显示),将存储库转换为仅包含LF行尾,然后在Windows和OS X上将其设置core.autocrlf。这样做的问题是,如果存储库中有任何二进制文件,那:trueinput

    1. 没有在gitattributes中正确标记为二进制,并且
    2. 碰巧同时包含CRLF和LF,

    他们将被破坏。我的存储库可能包含此类文件。

那么,为什么不关闭Git的行尾转换呢?网路上有很多模糊的警告,提示您core.autocrlf关闭电源会导致问题,但很少有特定警告到目前为止,我唯一发现的是kdiff3无法处理CRLF结尾(对我来说不是问题),并且某些文本编辑器存在行尾问题(对我来说也不是问题)。

该存储库是我公司内部的,因此我不必担心与具有不同autocrlf设置或行尾要求的人们共享它。

我不知道仅将线端保持原样还有其他问题吗?

设置autocrlf的唯一特定原因true是:

  • 避免git status将所有文件显示为modified因为将基于Unix的EOL Git存储库克隆到Windows时自动完成EOL转换(例如,参见问题83
  • 您的编码工具某种程度上取决于文件中存在本机EOL样式:
    • 例如,一个代码生成器经过硬编码以检测本机EOL
    • 其他带有regexp或代码集的外部批处理(在您的仓库外部),用于检测本机EOL
    • 我相信某些Eclipse插件都可以在平台上生成带有CRLF的文件,这可能是个问题。
    • 您使用Notepad.exe进行编码(除非您使用Windows 10 2018.09+,其中Notepad尊重检测到的EOL字符)。

除非你能看到哪些具体的治疗必须应对本土停产,你最好留下autocrlffalsegit config --global core.autocrlf false)。

请注意,此配置将是本地配置(因为该配置未从存储库推送到存储库)

如果要为所有克隆该存储库的用户使用相同的配置,请使用文件中属性,检查“使用git的最佳CRLF处理策略是什么?text.gitattributes

例:

*.vcproj    text eol=crlf
*.sh        text eol=lf

注意:从git 2.8(2016年3月)开始,合并标记将不再在CRLF文件中引入混合行结尾(LF)。
请参阅“使Git在其“ <<<<<<<< HEAD”合并行上使用CRLF

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Python

为什么在Python中`(True,True,True)== True,True,True`不是True?

来自分类Dev

使用core.autocrlf = true时文件的“ git hash-object”结果不同?

来自分类Dev

当autocrlf为false且未指定文本时,Git仍然显示“ LF将被CRLF替换”警告

来自分类Dev

Git core.autocrlf行结束默认设置

来自分类Dev

为什么'$ true -eq“ string”'返回$ true?

来自分类Dev

可以将git配置为不对某些文件执行autocrlf吗?

来自分类Dev

使用autocrlf = true的Git可以按原样签出带有混合行结尾的文件

来自分类Dev

为什么lodash`_.all([true,true,true],true);`返回`false`?

来自分类Dev

尽管将core.autocrlf设置为输入,但为什么在写入工作目录时GIT不能用LF替换CRLF?

来自分类Dev

为什么在core.autocrlf输出中有两行带有“ git config -l”的行?

来自分类Dev

.gitattributes:text = auto是否仍使用core.autocrlf来检测EOL

来自分类Dev

如何为子模块设置git core.autocrlf

来自分类Dev

如果贡献者对Git有autocrlf = true,则修复所有损坏的提交

来自分类Dev

为bitbucket管道设置core.autocrlf

来自分类Dev

如何用.gitattributes表示core.autocrlf = false?

来自分类Dev

更改core.autocrlf后如何强制转换工作树文件?

来自分类Dev

git config --global core.autocrlf false仍然尝试转换行尾吗?

来自分类Dev

“ git checkout --patch”与autocrlf = true不兼容吗?

来自分类Dev

尽管core.autocrlf = true,Git在Windows上仅签出带有LF行尾的特定文件

来自分类Dev

为什么“ True and〜True” -2?

来自分类Dev

为什么输出“ True”

来自分类Dev

为什么Git将autocrlf报告为true?

来自分类Dev

git status:.git / config中'core.autocrlf'的错误配置值

来自分类Dev

为什么“ True or False”比“ False或True”要快?

来自分类Dev

正确的git autocrlf设置

来自分类Dev

使用autocrlf = false的Git仍然会产生“警告:CRLF将被LF取代”消息

来自分类Dev

序言:为什么是 true == not(not(true)) -> false?

来自分类Dev

为什么 Python3 中的 True, True, True == (True, True, True) 给出 o/p True, True, False?

来自分类Dev

我必须每次都申请 core.autocrlf 吗?

Related 相关文章

  1. 1

    为什么在Python中`(True,True,True)== True,True,True`不是True?

  2. 2

    使用core.autocrlf = true时文件的“ git hash-object”结果不同?

  3. 3

    当autocrlf为false且未指定文本时,Git仍然显示“ LF将被CRLF替换”警告

  4. 4

    Git core.autocrlf行结束默认设置

  5. 5

    为什么'$ true -eq“ string”'返回$ true?

  6. 6

    可以将git配置为不对某些文件执行autocrlf吗?

  7. 7

    使用autocrlf = true的Git可以按原样签出带有混合行结尾的文件

  8. 8

    为什么lodash`_.all([true,true,true],true);`返回`false`?

  9. 9

    尽管将core.autocrlf设置为输入,但为什么在写入工作目录时GIT不能用LF替换CRLF?

  10. 10

    为什么在core.autocrlf输出中有两行带有“ git config -l”的行?

  11. 11

    .gitattributes:text = auto是否仍使用core.autocrlf来检测EOL

  12. 12

    如何为子模块设置git core.autocrlf

  13. 13

    如果贡献者对Git有autocrlf = true,则修复所有损坏的提交

  14. 14

    为bitbucket管道设置core.autocrlf

  15. 15

    如何用.gitattributes表示core.autocrlf = false?

  16. 16

    更改core.autocrlf后如何强制转换工作树文件?

  17. 17

    git config --global core.autocrlf false仍然尝试转换行尾吗?

  18. 18

    “ git checkout --patch”与autocrlf = true不兼容吗?

  19. 19

    尽管core.autocrlf = true,Git在Windows上仅签出带有LF行尾的特定文件

  20. 20

    为什么“ True and〜True” -2?

  21. 21

    为什么输出“ True”

  22. 22

    为什么Git将autocrlf报告为true?

  23. 23

    git status:.git / config中'core.autocrlf'的错误配置值

  24. 24

    为什么“ True or False”比“ False或True”要快?

  25. 25

    正确的git autocrlf设置

  26. 26

    使用autocrlf = false的Git仍然会产生“警告:CRLF将被LF取代”消息

  27. 27

    序言:为什么是 true == not(not(true)) -> false?

  28. 28

    为什么 Python3 中的 True, True, True == (True, True, True) 给出 o/p True, True, False?

  29. 29

    我必须每次都申请 core.autocrlf 吗?

热门标签

归档