我正在多个操作系统(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
任何帮助将不胜感激。感谢您的支持。
答案 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