当前位置:  开发笔记 > 编程语言 > 正文

为什么我在源文件中获得CRLF换行符,尽管我在使用Git和IDEA的Mac + Linux环境中?

如何解决《为什么我在源文件中获得CRLF换行符,尽管我在使用Git和IDEA的Mac+Linux环境中?》经验,为你挑选了1个好方法。

我的老板和我是唯一从事我们项目的人,我们只使用Mac进行开发.我们正在进行groovy/grails开发,并部署到Linux服务器.在我们的开发过程中任何地方都没有使用MS Windows,但不知何故,当我在bash shell中使用git对文件进行区分时,我最终会看到那些^M表示CR的愚蠢字符(以及换行符,CRLF) ).

这出现在无处不在的文件中.

我在网上搜索了哪里设置IntelliJ IDEA只使用LF作为行结尾但找不到它.谷歌搜索关于IDEA的答案的难度加剧了我的挫败感.

我想做这些事情:

    在我的机器(OS X)上配置git以绝对拒绝任何CRLF.

    另外,我使用gitolite作为我们的中央存储库服务器(即Ubuntu Linux)的访问层.如果有可能在gitolite中强制拒绝CRLF,那就更好了.

    将IntelliJ IDEA配置为永不保存为CRLF.如果可能,甚至可以使它对于充满CRLF的现有文件,如果我添加太多空格并点击保存,则所有 CRLF都被剥离(转换为单个LF).

我认为自己一般都非常精通Git,但我对CRLF的所有配置感到非常困惑.有人可以告诉我所有这些设置应该适用于我的职位吗?

这里的要点是纯粹的*nix/LF-line-ending环境,我不想处理任何CRLF废话.这应该是绝对没有问题的,我讨厌处理它(如果你不知道).

我想让CRLF永远离开我的生活.



1> Ryan Stewart..:

在当地,使用git config --global core.autocrlf input.这将在提交时将所有CRLF转换为LF.我不知道如何在gitolite上配置它,并且我在IntelliJ中知道的唯一行结束设置是允许您指定用于新文件的内容.它位于代码样式的设置中 - >对话框底部的常规.

更改core.autocrlf设置后,您可以清除所有坏行结尾(从干净的工作树开始)删除所有跟踪的文件并执行操作git reset --hard以使其恢复存在.然后任何具有错误行结尾的文件都将被标记为"已修改",您可以提交它们来修复行结尾.


同时确保Settings-> Code Style-> General窗格的"Unix和OS X(\n)"设置为"行分隔符(对于新文件)".
推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有