Git 的多平台换行符问题(LF or CRLF)
Windows下文本文件所使用的换行符是CRLF,而Linux/UNIX/macOS用的是LF。
使用Git的时候,默认当我们拉取远程文件的情况,会将LF格式的文件转换为CRLF格式的,在推送到远程时会进行一次转换将其变为LF格式推送上传。但这会在跨平台开发的时候造成一些问题,比如会影响正常diff的结果导致无法使用。
解决方法
在Git的工程根目录下增加.gitattributes
文件。
在其中增加* text=auto eol=lf
一行。这能保证Windows协作者在拉取时文件不会被转成CRLF格式。
我这个工程的 .gitattributes 文件内容如下:
* text=auto eol=lf
# Files with Unix line endings
*.py text eol=lf
*.js text eol=lf
*.jsx text eol=lf
*.json text eol=lf
*.sh text eol=lf
# Binary files
*.bin binary
Pycharm的设置
现代的IDE或文本编辑器对于换行符都已经有了很好的支持。
设置在 File - Settings - Editor - Code Style
下
Scheme
选择Project
即代表该设置只对本项目工程生效。
General - Line separator
选择Unix and macOS (\n)
参考链接: