【发布时间】:2015-07-07 10:45:09
【问题描述】:
我们在 Windows 上开发并使用 git。在本地,行结尾是 CRLF,中间的所有魔法意味着我们的生产服务器 (CentOS) 上的文件将具有 LF。大家都很开心。
我们还使用仅限 Windows 的工具为我们生成大量文件(PHP Maker)。此应用生成带有 Windows 行结尾的文件。
还不错。
但是,我们有 2 名非 Windows 开发人员(一名在 Mac 上,一名在 Ubuntu Mate 上)。对于非 PHP Maker 生成的文件,他们的编辑器使用具有特定于操作系统的行结尾的文件,并且介于两者之间的所有魔法意味着这些文件在我们的生产服务器上以正确的行结尾结束。并且当 Windows 开发人员与非 PHP Maker 文件交互时,在本地使用 CRLF 行结尾仍然很好。
一切似乎都很好。
直到非 Windows 开发人员必须在他们的 Mac/Ubuntu 机器上的 Windows VM 中运行 PHP Maker 应用程序。
然后事情似乎有点不稳定。
最终结果是,当这些开发人员运行 PHP Maker 并从他们的开发机器(而不是虚拟机)提交时,行尾似乎变得……混乱……并且不知何故,当 Windows 开发人员掌握了这些文件时,它们是 100% 不同的空格 - 只是行尾。
我愿意做研究,但我知道的不够多,无法解决这个问题,因为我只在 Windows 上(一切都按预期工作)并且无法访问 Mac/Ubuntu 设置来诊断问题。
所以。我应该做些什么?我们以一种或另一种方式执行事情没有问题(如“无论好坏,这就是我们想要的设置方式”)。
但有些想法、建议、推荐、完美答案等都是值得赞赏的。
问候,
理查德·夸灵。
【问题讨论】:
标签: windows macos git unix virtual-machine