我的老板和我是唯一从事我们项目的人,我们只使用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永远离开我的生活.
在当地,使用git config --global core.autocrlf input
.这将在提交时将所有CRLF转换为LF.我不知道如何在gitolite上配置它,并且我在IntelliJ中知道的唯一行结束设置是允许您指定用于新文件的内容.它位于代码样式的设置中 - >对话框底部的常规.
更改core.autocrlf设置后,您可以清除所有坏行结尾(从干净的工作树开始)删除所有跟踪的文件并执行操作git reset --hard
以使其恢复存在.然后任何具有错误行结尾的文件都将被标记为"已修改",您可以提交它们来修复行结尾.