2

我正在 Mac 上为在 Windows 虚拟机 (VMware Fusion) 上本地运行的网站开发。这些文件位于共享目录中,因此两个操作系统都使用相同的文件。

当我在 Mac 上编辑文件并在 Windows VM 中运行它们时,我收到错误消息,指出“文件意外结束”和“输入中出现意外字符”。

在我的.gitattributes文件中,我有* text eol=crlf,当我提交时,修改/提交的文件不再出现错误。

首先,有人可以告诉我我的诊断是否正确:在提交文件之前,Mac 行结尾不会转换为 Windows,这会导致在 Windows VM 上运行文件时出现“语法样式”错误?

其次,有没有一种方法可以配置我的 Git 存储库和/或我的虚拟机,以便两个操作系统都获得它们首选的行尾?

4

1 回答 1

1

1) 是的,单独的text eol设置仅在结帐时有效。当您添加/提交具有不同行尾的文件时,您还应该收到这种警告:

warning: LF will be replaced by CRLF in <file you want to commit>.
The file will have its original line endings in your working directory.

如果您希望在与 Git 存储库交互之前拥有正确的行尾,则2).gitattributes是不够的。您可以检查您的文本编辑器是否能够配置行尾。大多数文本编辑器都能够做到这一点(但是,MAC 的 TextEdit 不是 AFAIK)。

于 2015-04-07T20:31:48.377 回答