Git Line Endings:Mac到Windows VM

时间:2015-04-07 16:38:28

标签: git virtual-machine vmware-fusion

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

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

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

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

第二,有没有办法可以配置我的Git存储库和/或我的VM,以便两个操作系统都能获得他们的首选行结尾?

1 个答案:

答案 0 :(得分: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.

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