有人能帮助我吗?我正在使用Git(GitHub)并尝试在gitattributes中决定将*.sql
文件设置为什么。我见过人们使用
*.sql diff=astextplain
*.sql diff
*.sql text=auto
我被建议将其设置为第二个选项,但我只是想知道它与其他两个选项有什么区别。
答案 0 :(得分:18)
diff=astextplain
(仅限msysGit):转换这些文件(在其扩展名为*.doc
,*.pdf
,*.rtf
等的情况下)转换为生成差异之前的文本格式。diff
:将这些文件视为纯文本,以生成差异。text=auto
:在Git认为是文本文件的文件中自动规范化EOL字符(到LF)。diff=astextplain
字符串值astextplain
不是Git核心的一部分:事实上,正在运行
git grep "astextplain"
Git project repository中的不返回任何内容。据我所知,它是一个shell script附带msysGit并允许您转换文件,如
生成差异之前的文本格式。
diff
属性
diff
会影响Git如何为特定文件生成差异。 [...]设置
diff
属性的路径被视为文本,即使它们包含通常永远不会出现在文本文件中的字节值,例如NUL。
text=auto
当
text
设置为“auto”时,路径将标记为自动行结束标准化。如果Git决定内容是文本,则在签入时将其行结尾标准化为LF。