有人能帮帮我吗?我正在使用Git(GitHub),并试图决定在gitattributes中设置我的*.sql文件的内容。
*.sql
*.sql diff=astextplain *.sql diff *.sql text=auto
有人建议我将此设置为第二个选项,但我只是想知道这与其他两个选项有什么区别。
f87krz0w1#
diff=astextplain
*.doc
*.pdf
*.rtf
diff
text=auto
∮ ∮ ∮ ∮ diff=astextplain字符串值astextplain不是Git core的一部分:事实上,跑步
astextplain
git grep "astextplain"
在Git project repository中什么也不返回。据我所知,它是msysGit附带的shell script,允许您转换文件,如
转换为文本格式,然后生成它们的diff。
根据gitattributes man page:属性diff影响Git为特定文件生成差异的方式。[...]设置了diff属性的路径被视为文本,即使它们包含通常不会出现在文本文件中的字节值(如NUL)也是如此。
gitattributes
根据gitattributes man page:当text被设置为“auto”时,路径被标记为自动行尾规范化,如果Git确定内容为文本,则在签入时行尾被规范化为LF。
text
cnwbcb6i2#
已接受的答案已过时。msysGit已被Git for Windows 2.x取代。在Git For Windows Wiki中,git-extra软件包对MSYS 2环境进行了大量修改(有时候修改后的恢复会很麻烦)。如果你想保持MSYS 2的原始状态,可以跳过这个软件包。在撰写本文时,这个软件包:
astextplain是Git for Windows的git-extra包中的一个脚本,可以是read online。
git-extra
2条答案
按热度按时间f87krz0w1#
TL;DR
diff=astextplain
(仅限msysGit):在生成它们的diff之前将这些文件(在它们的扩展名是*.doc
、*.pdf
、*.rtf
等的条件下)转换成文本格式。diff
:将这些文件作为纯文本来生成它们的diff。text=auto
:自动将Git视为文本文件的文件中的EOL字符规范化(为LF)。更多详情
∮ ∮ ∮ ∮
diff=astextplain
字符串值
astextplain
不是Git core的一部分:事实上,跑步在Git project repository中什么也不返回。据我所知,它是msysGit附带的shell script,允许您转换文件,如
转换为文本格式,然后生成它们的diff。
一个月八个月
根据
gitattributes
man page:属性
diff
影响Git为特定文件生成差异的方式。[...]设置了
diff
属性的路径被视为文本,即使它们包含通常不会出现在文本文件中的字节值(如NUL)也是如此。text=auto
根据
gitattributes
man page:当
text
被设置为“auto”时,路径被标记为自动行尾规范化,如果Git确定内容为文本,则在签入时行尾被规范化为LF。cnwbcb6i2#
已接受的答案已过时。msysGit已被Git for Windows 2.x取代。
在Git For Windows Wiki中,
git-extra软件包对MSYS 2环境进行了大量修改(有时候修改后的恢复会很麻烦)。如果你想保持MSYS 2的原始状态,可以跳过这个软件包。在撰写本文时,这个软件包:
astextplain
,记事本,vi,写字板astextplain
是Git for Windows的git-extra
包中的一个脚本,可以是read online。