git忽略行结尾

时间:2015-07-27 13:06:17

标签: git line-endings

我知道已经提出了类似的问题,但我仍然无法让它发挥作用。

我的项目由使用不同操作系统的人共享,我在OSX上。此外,并非每个人都使用git,最终我有时不得不改变其他人。

有时候,git不知道还有未决的变化。查看文件看起来相同:

@@ -1,6 +1,6 @@
-<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
->
-    <Deployment.Parts>
-    </Deployment.Parts>
-</Deployment>
+<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+>
+    <Deployment.Parts>
+    </Deployment.Parts>
+</Deployment>

我怀疑这些是行结束问题。

[编辑]一个外部差异工具专门说:&#34;状态:1差异行结尾不同 - 左:Windows(CRLF),右:Unix(LF)&#34;

根据一些在线提示,我的配置如下:

[core]
    excludesfile = /Users/nathanh/.gitignore_global
    autocrlf = input
    attributesfile = /Users/nathanh/.config/git/attributes
    whitespace = cr-at-eol

我的属性文件:

# Ignore all differences in line endings
*        -crlf

为什么它仍然告诉我文件被修改了?

1 个答案:

答案 0 :(得分:4)

从JetBrains.com阅读此内容

要让Git自动解决此类问题,您需要在Windows上将core.autocrlf属性设置为true并在Linux和OS X上输入。有关core.autocrlf属性含义的更多详细信息,请参阅文章{ {3}}。您可以通过运行

手动更改配置
git config --global core.autocrlf true 
Windows上的

git config --global core.autocrlf input 

在Linux和OS X上。但是,IntelliJ IDEA可以分析您的配置,警告您是否要将CRLF提交到存储库,并提供将core.autocrlf设置为true或输入,具体取决于所使用的操作系统

希望这可能会解决这个问题。