git中的有效属性名是什么?(git属性名的语法是什么?)

pinkon5k  于 2023-06-20  发布在  Git
关注(0)|答案(1)|浏览(110)

一个快速的故事发生了什么:我已经在我的.gitattributes中放置了以下内容:

.htaccess merge = ours

然后Git显示了一个错误“不是一个有效的属性名”。
我当时尝试的是:

.htaccess merge=ours

或者把它写出来:如果你设置了一个属性值,但是你在等号周围放了空格,那么只需要删除空格。不仅仅是我

但是现在,除了它们不能包含空格之外,自2015年底以来,Git中的有效属性名称是什么?
错误消息没有告诉我今天的情况,我的文本生成技能很弱,所以我无法针对我的本地git版本探测整个Unicode(以及Git可能支持的未记录编码),然后我不知道其他人将使用哪些其他git版本来 checkout 仓库。
所以回到2015年,对我来说,2023年的答案看起来很不错。因为这是一个关于git的问题,我想有一个grep查询可以告诉我,但是,嗯,我今天感觉很虚弱。任何帮助都非常感谢。

6yoyoihd

6yoyoihd1#

gitattributes(5)文档对每行的格式是这样说的:
也就是说,一个模式后跟一个属性列表,由空格分隔。前导和尾随空格将被忽略。以#开头的行将被忽略。以双引号开头的模式在C风格中被引用。
文档没有描述属性名称,但代码描述了(attr.c中的函数attr_name_valid),并使用以下文本:
属性名称不能以-开头,必须由[-A-Za-z0-9_.]中的字符组成。
属性的主体(如果有的话)似乎没有限制,但我强烈建议您坚持使用UTF-8。没有人会喜欢在文件中有任意的字节序列。
请注意,由于在属性周围指定了空格,因此尝试定义了三个单独的属性:merge=ours。由于=不是一个有效的属性,因此您得到了该错误消息。

相关问题