【发布时间】:2009-01-15 10:15:10
【问题描述】:
我有一个 Git 存储库(最初是 CVS,然后是 SVN,现在是 Git),其中包含一个已在 Linux 上部署一段时间的 Rails 项目。一切似乎都运行良好。
现在我已转换为 git,我看到 我在存储库中的许多文件都包含 CRLF 行结尾。我希望它保持一致 (LF),但不能以丢失每个具有 CRLF 行结尾的文件的编辑历史为代价。
你能想出我不能保留文件原样的任何原因吗?我似乎记得 shell 脚本或 cron 文件有问题,或者没有响应 @ 987654325@很好。
另外,我知道所有关于 Git 选项 core.autocrlf 和 core.safecrlf 的信息,但是有没有办法让它 在结帐时将所有文本文件从 CRLF 转换为 LF(对于 linux 端) ...即 core.autolf 选项或类似的东西?
【问题讨论】:
-
我不明白您为什么说“丢失 [原文如此] 每个具有 CRLF 行结尾的文件的编辑历史记录”。添加使行尾一致的提交如何导致您“丢失编辑历史记录”?
-
一些版本控制系统(即 Subversion)查看一个行尾已更改的文件,并认为文件中的每一行都已更改。
-
如颠覆和Git。似乎 Git 在内部只使用 LF,所以 CR 只是文本的一部分,如果它改变了,那行就改变了。我不会丢失编辑历史记录,但是通过该换行提交来区分文件会显示整个文件已被更改。
标签: ruby-on-rails linux git deployment newline