首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用的正确core.autocrlf设置是什么?

我应该使用的正确core.autocrlf设置是什么?
EN

Stack Overflow用户
提问于 2021-07-06 13:11:11
回答 1查看 50关注 0票数 2

从理论上讲,当在windows机器上工作时,人们应该使用设置为true的core.autocrlf

我的windows机器git配置设置是core.autocrlf=true

但是,当我克隆gitlab存储库时,我可以看到一些sh文件在\r中完成了它们的行。

(我通过做cat -A thefile.sh来做到这一点)。

当我将这些文件复制到linux环境并尝试运行它们时,这会引发各种问题。

作为参考,我在一台linux机器(未设置该配置)中克隆了相同的gitlab代码库,并且sh文件中没有\r

我的问题是,我如何解决这个问题?

core.autocrlf设置为input并再次克隆存储库会有帮助吗?这些\r是什么时候引入的?

EN

回答 1

Stack Overflow用户

发布于 2021-07-06 13:46:52

我应该使用的正确core.autocrlf设置是什么?

很简单:false

core.autocrlf适用于所有文件(包括二进制文件),并且可能会在检出时损坏它们。

即使是core.safecrlf也太包罗万象了。

我更喜欢使用.gitattributes eol directives,您可以精确地为每个文件指定所需的内容。

另外:

  • git config是本地的,并且没有版本化:您将依赖其他开发人员进行完全相同的“正确”configuration;
  • .gitattributes版本化:其他开发人员将从中受益automatically;
  • core.autocrlf将覆盖任何.gitattributes仔细设置的指令。

因此,在您的示例中,在.gitattributes文件中:

代码语言:javascript
复制
*.sh         eol=lf

在"Force LF eol in git repo and working copy“中可以看到更多的例子。

注意:

在以下位置完成了它们的行\r

我更怀疑的是:\r\n而不是\r (参见Newline representation)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68264886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档