在Windows机器上工作时是否有任何有unix行结尾的副作用?
我正在使用Windows 7,并有一个git下的node.js项目。 我把我的TortoiseGit设置为autocrlf: false
和safecrlf: false
。 然后将所有项目文件的行结束符更改为LF。 项目正常启动和运行,我没有理由回到CRLF。
这样做后,我应该期待任何副作用?
不,在Windows上使用* nix行尾序列( LF
代替CRLF
)完全没有问题。 事实上,我个人的build议是确保你的Windows编辑器(如果你在Windows上开发node.js)使用LF
。
举个例子,我用我的编辑器开发node.js的Visual Studio代码 ,并且在我的用户设置中使用了LF
来代替CRLF
: "files.eol": "\n"
。 现在我不再需要担心了。
CRLF
行结束会导致在Linux上运行的node.js应用程序中出现问题,如果您不知道要查找什么,则不是排除故障最直接的方法 。
TL; DR如果您真的关心跨平台(您应该关心),则在开发Windows上的node.js应用程序时使用LF
。
注意 :只是因为git改变你的行结束并不意味着这是解决scheme。 即使你的版本控制可以改变你的源代码(我不build议这样做),但是如果你做了一个npm publish
它将在本地使用你的源文件,并且你可以将CRLFs潜入npmregistry中。
如果所有的工具/编辑器/ IDE是LF兼容的,那么没有问题。
Otherwiese你可能会得到错误或混合行结束保存。
为了确保克隆存储库的其他用户无法进行转换,可以将.gitattributes
文件放入根文件夹中,其中包含: * -crlf
,用于禁用所有* -crlf
转换。