为什么GitHub认为我的代码有差异?

时间:2013-04-18 12:20:06

标签: git github newline

当我添加...

# Auto detect text files and perform LF normalization
* text=auto

...到我的配置文件然后GitHub应用程序/客户端说存储库中的许多(如果不是全部?)文件已经更改。对于他们中的许多人来说,它表示整个文件已经改变,即使它显然没有。显然这是行结尾的问题,但我不明白为什么会发生这种情况。

似乎只要你告诉Git(通过配置文件)文件类型是文本,那么就会引发差异。

1 个答案:

答案 0 :(得分:2)

使用text = auto,Git希望以LF格式存储文件 - 它不会简单地将过滤器应用于那里。因此,任何尚未存储LF结尾的文件都将显示为已修改。您可能希望遵循gitattributes man page部分eol conversion上的建议并执行:

$ rm .git/index     # Remove the index to force Git to
$ git reset         # re-scan the working directory
$ git status        # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"