IntelliJ中的更改视图继续列出文件,其中唯一的区别是LF与CRLF

时间:2014-03-27 00:17:01

标签: git intellij-idea

我有2个文件在更改视图中不会消失。如果我查看diff,它只是告诉我提交的版本有LF行结尾,本地版本有CRLF行结尾。我在Mac上工作,我理解基于Linux的系统使用LF线路结尾,Windows使用CRLF。有没有我可以转换这两个文件所以所有行结尾都是LF?

感谢。

6 个答案:

答案 0 :(得分:5)

在您的情况下,您可以:

  • convert those files

  • core.autocrlf设为input

    git config core.autocrlf input
    
  • reset it(确保您没有进行任何工作)

    git rm --cached -r .
    git reset --hard
    

请参阅" git replacing LF with CRLF"。

答案 1 :(得分:1)

当使用Cygwin克隆存储库时,我在Windows上遇到此问题(即使使用git config core.autocrlf true)。

使用GitBash(配置为git config core.autocrlf true)重新克隆存储库后,问题就消失了。

答案 2 :(得分:1)

简单快捷的解决方案是 - 搁置& 取消隐藏更改。 每次都适合我。

货架:

enter image description here

取消搁置:

enter image description here

答案 3 :(得分:1)

经过大量的反复试验后,以下列表最终适用于Windows:

  • IntelliJ设置 - >版本控制 - > git可执行文件的git路径应该使用c:\​​ cygwin \ bin中的git.exe
  • IntelliJ设置 - >版本控制 - > git ssh可执行文件' native'。
  • 在Windows上将环境变量编辑到您的帐户添加到路径:c:\ cygwin \ bin和c:\ cygwin
  • 如果已经存在,则删除项目目录中的.idea。 (非常重要!)
  • 重新启动intellij,再次打开项目目录。

因此,现在本地更改不会显示相同的内容'文件,'拉'和'推'所有这些都来自IntelliJ。而且我不必去cygwin再做家务。

如果项目在Linux和Windows上都有效,请确保遵循以下设置: 确保在cygwin窗口中有此设置(git config -l): core.autocrlf =输入

在Linux上

为了让事情正常工作你也必须有这个设置: core.autocrlf =输入

这是如何设置它: git config --global core.autocrlf input

喝彩!

答案 4 :(得分:0)

git config core.autocrlf true

在我的案例中做了诀窍,请参阅https://www.jetbrains.com/idea/help/handling-lf-and-crlf-line-endings.html

答案 5 :(得分:0)

当您通过Cygwin git可执行文件git clone存储库并且IntelliJ使用C:\Program Files\Git\bin\git.exe处的git exectuable时,似乎存在问题。

我通过intellij(ctrl-shift-a:"从版本控制中检出" - > Git)再次克隆项目来解决这个问题。

现在一切似乎都井井有条,直到Version Control我才能看到任何变化。