gitattribute行结束设置

时间:2017-01-05 23:43:06

标签: git github gitattributes

我正在开发一个代码存储库,所有开发人员都使用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行结尾?

1 个答案:

答案 0 :(得分:1)

.gitattributes信息的良好来源是gitscm.com文档(https://git-scm.com/docs/gitattributes#__code_text_code

  1. 我不相信* text eol=crlf会奏效。它应该是* text crlf

  2. 您需要将单行* text eol=lf*.java eol=crlf*.csv eol=crlf*.jar binary*.sql eol=crlf分成多行。

  3. 将这些行添加到. 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