【问题标题】:Git line endings in multi OS environment多操作系统环境中的 Git 行尾
【发布时间】:2016-07-04 22:24:02
【问题描述】:

我在 PC 上安装了 Linux Mint,然后我从 Bitbucket 克隆了 git 存储库来处理它。经过一些更改后,我确实在我的 PhpStorm ide 中提交了。在此提交期间,git 向我发出了一个关于行尾的对话框。有两种选择。如果我记得

  1. 创建处理项目行尾的 gitattribute 文件

  2. 通过 core.autocrlf true 等命令为行尾设置全局处理程序

我选择了全局选项,但我看到它改变了所有项目文件。现在我不确定会发生什么以及是否可以将其推送到服务器。如果有人在 Windows 上拉它会发生什么?会合并吗?如何解决?

【问题讨论】:

  • .gitattributes 现在是推荐的方式......(因为配置在存储库中并且由每个操作系统上的所有人共享)
  • 那我现在该怎么办?那么二进制文件呢,因为我现在正在阅读它也是关于二进制文件的。我真的很困惑该怎么办。

标签: linux windows git line-endings


【解决方案1】:

根据git-config Documentation

core.autocrlf

将此变量设置为“true”与将所有文件的文本属性设置为“auto”几乎相同,但不保证文本文件被规范化:存储库中包含 CRLF 的文件将不会被触及。如果您希望在工作目录中使用 CRLF 行结尾,即使存储库没有规范化的行结尾,也可以使用此设置。该变量可以设置为输入,这种情况下不进行输出转换。

core.autocrlf 设置为true 意味着git 将有条件地将行尾转换为工作目录中的CRLF 和存储库中的LF

请看: What's the best CRLF (carriage return, line feed) handling strategy with Git?

【讨论】:

  • 但我在团队中工作,有些人拥有 Wins,而我拥有 Linux。这不是我想要拥有的东西的存储库。我需要与其他人合作。现在我会选择输入。但我不知道....
猜你喜欢
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 2012-02-16
  • 2021-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多