mac中的git行结束问题

时间:2015-04-27 10:37:59

标签: git macos line-endings

我正在多个操作系统(Mac OS和Windows)中开发应用程序

在Windows中,一切正常,但在Mac中,由于行尾问题,我无法继续。当我在MACBOOK中打开.js文件时,它有额外的字符。我的代码在git和我的.gitattributes文件内容

中可用
*       text=auto

我试图做很多试验和错误但无法成功。

WINDOWS

git config --global core.autocrlf true

MACBOOK

git config --global core.autocrlf native

任何帮助将不胜感激。感谢您的支持。

1 个答案:

答案 0 :(得分:1)

text=auto文件中的所有文件设置.gitattributes选项应该足够了。此选项将使所有文本文件(由git自动检测)在存储库中具有规范化(LF)行结尾。在这种情况下,无需设置core.autocrlf选项。有关详细信息,请阅读gitattributes手册页的“行尾转换”部分。

然而,你错过了一个重要的步骤。设置text=auto选项后,您应该规范化存储库中已有的所有文件。这意味着您存储库中具有CRLF结尾的所有文本文件都应该转换其行结尾。

这是应该在干净的工作目录上执行的步骤,如手册页中所列:

$ 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"

注意git status列出的已更改文件。如果任何文件被错误地检测为文本文件,则必须手动将它们从.gitattributes文件中的自动转换中排除,例如:

example.bin      -text