Windows服务器上的Unix风格的行结尾

时间:2015-04-17 21:55:18

标签: windows git unix

我开始了一项新工作,我们使用Windows服务器用于PHP(本地,开发,舞台,现场),但新项目是使用Git for Windows提交的,默认设置为“使用Unix样式行结束提交”(由团队成员选择,现在我用记事本打开的任何文件都显示没有换行符的文件。

我可以使用其他文件编辑器来读取文件(虽然这是快速浏览的更多步骤),但我担心Unix风格的行结尾会导致Windows服务器出现问题。我还没有看到新旧代码(后者有混合文件)的问题,并且提交CRLF显示在git diff中,所以它看起来很糟糕,除非所有文件同时转换为一个明显的信息。

是否值得转换为CRLF?我怀疑系统将转向Unix(它们已经根深蒂固并且使用IBM System i基础架构作为它们的数据主干),但我不确定Unix风格的行结尾是否会导致问题。

2 个答案:

答案 0 :(得分:0)

使用gvim用于Windows或任何使用unix换行符的number other text {/ 3>}。

答案 1 :(得分:0)

Windows 服务器可以在Unix行结束时正常工作。问题是如果您计划使用Windows服务器上的文件(编辑和编译除外)。

Windows需要CRLF文件的一个区域:".bat"文件。简单的批处理文件与LF结尾一起使用,但如果脚本足够长(超过几千个字符)并使用内部子程序,则可以使用非工作脚本(其他人已经注意到了这一点,例如,在此{ {3}})。

同样,如果在Unix上尝试按原样使用它们,那么使用CRLF结尾检查Unix shell脚本往往会破坏它们(例如,参见 bug report )。

如果您有一个包含Unix和Windows脚本的跨平台系统,您可能需要将它们分成Git中的不同文件夹/目录,并使用Bash/Korn shell script edited on Windows throws error '…^M: not found'根据其用途指定CRLF或LF结尾。 attributes 问题是一个起点;但它很简单:Git属性可以按目录管理(虽然它可能很乏味)。特别是,更容易将这些选择性地应用于“.bat”文件(使用通配符)而不是shell脚本(不需要使用任何命名约定)。所以 - 需要特别处理一些文件类型的警告 - 使用Unix行结尾使系统更容易管理。

如上所述,除了记事本之外还有其他编辑器(但StackOverflow不是列出这些内容的地方)。

相关问题