我正在开发一个代码存储库,所有开发人员都使用Windows PC和Linux与存储库进行协作。 eclipse作为他们的IDE。存储库管理员已使用以下命令在父目录中设置此.gitattributes
文件:
* text eol=crlf
我读到here git在内部维护对象数据库以写入(提交)/读取(checkout)更改。
.gitattributes
中的上述设置是否会以CRLF(windows)行结尾检出代码,并且存储库中的文件将保留在CRLF中?
启用"显示空格" Eclipse IDE中的选项显示所有文件结尾都是换行(LF)而没有回车(CR)。
有人可以指出这种行为的原因吗?
在另一个存储库中,它有
* text eol=lf*.java eol=crlf*.csv eol=crlf*.jar binary*.sql eol=crlf
这是否意味着所有文件(.java / .csv / .sql)都有CRLF而其他文件会有LF行结尾?
答案 0 :(得分:1)
.gitattributes
信息的良好来源是gitscm.com文档(https://git-scm.com/docs/gitattributes#__code_text_code)
我不相信* text eol=crlf
会奏效。它应该是* text crlf
您需要将单行* text eol=lf*.java eol=crlf*.csv eol=crlf*.jar binary*.sql eol=crlf
分成多行。
将这些行添加到. gitattributes
文件中。
# other files will have LF
* text=lf
# .java .csv .jar .sql will have CRLF
*.java eol=lf
*.csv eol=crlf
*.jar eol=crlf
*.sql eol=crlf