linux - Git 中的多平台开发和 autocrlf 选项

标签 linux macos git github github-for-mac

我目前正在使用 Git,并且在我的 Windows PC 上一切正常。我将 autocrlf 设置为 true,根据这个是正确的

https://help.github.com/articles/dealing-with-line-endings

其实我没有什么可提示的,它似乎工作得很好,偶尔会有一些警告,但我通常会忽略它们。

但这实际上是做什么的呢?这是否会在执行 PULL 时添加 CR/LF,然后在执行推送时将 CRLF 更改为 LF?

所以在 repo 中“总是”有“只有”LF 而不是 CRLF 的文件?

我即将开始使用 MAC OS X 和 Linux 在同一个存储库中进行开发,现在这是我感到困惑的地方,根据 GitHub,它指出对于 Windows 将 Autocrlf 设置为 TRUE。

但是在 Linux/MAC OS X 上,我应该做同样的事情吗?我所知道的 Linux 不使用 CRLF。

更新

我看到关于 Stack Overflow 的各种评论认为它不是真的,但我当然使用 3 种类型的系统,所以我想这就是为什么在这里推荐它?

Linux 也被推荐?但它永远不会产生 crlf。

所以我想情况是,总是让它为真,以防万一?

最佳答案

设置autocrlftrue在 OS X 上也是如此。它会做正确的事。 (事实上​​ ,您也​​可以在 Linux 上设置它,它会再次做正确的事情。)


But what does this actually do then? Does this add CR/LF when doing a PULL and then change CRLF to LF when doing a push?

是的。它在本地 checkout 文件时将文件转换为本地 native 行结束格式,然后在提交时自动转换回规范行结束格式 ( LF)。

关于linux - Git 中的多平台开发和 autocrlf 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031212/

相关文章:

php - 如何通过 root 的 php 脚本访问 0750 文件夹?

linux - 如何检查服务和服务器是否可用?

Python 变量和 subprocess.call

windows - 为什么从函数返回的 gstrings 串联是一个空字符串 - Groovy 1.7.4

macos - 用于分发到 Mac 的 DMG 或 Zip 文件?

git - 如何计算两个分支之间的提交次数?

linux - 如果语句没有正确识别该 repo 文件存在

bash - 来自 bash 脚本的 `security unlock-keychain`

linux - 限制对 git 服务器目录的访问?

linux - 从 Bash 脚本中使用 Apache 执行 'git pull'