我应该把我的全球“gitattributes”文件放在哪里?

我收集到的是(尽pipe缺less文档)全局设置Git属性 的方法 ; 但我不清楚在哪里放置必要的gitattributes文件。 说明说他们属于

 $(prefix)/etc/gitattributes 

$(prefix)哪里? 特别是,OS X在哪里(Git在/usr/local/git/bin/git )? 另外(或另外)会~/.gitattributes 工作 ?

全局与系统范围的设置

你的问题的术语有一些含糊不清的地方。 在Git环境中,“全局”通常意味着“用户级别”; 换句话说, 全局设置会影响一个特定用户的所有存储库。 相比之下, 系统范围的设置会影响机器所有用户的所有存储库。

存储库级别的gitattributes

(我只是提到完整性。)

根据Pro Git书的相关部分 ,

如果您希望只影响单个存储库(即,将属性分配给特定于该存储库的一个用户工作流的文件),则属性应放置在$GIT_DIR/info/attributes文件中。

$GIT_DIR通常会扩展到<path-to-repo-root-directory>/.git $GIT_DIR

全球(用户级别)gitattributes

根据Pro Git书的相关部分 ,

应影响单个用户的所有存储库的属性应置于由core.attributesfile配置选项[…]指定的文件中。 它的默认值是$XDG_CONFIG_HOME/git/attributes 。 如果$XDG_CONFIG_HOME未设置或为空,则改为使用$HOME/.config/git/attributes

你也可以运行下面的命令,

 git config --global core.attributesfile <path> 

把Git指向你的全局gitattributes文件的自定义路径<path> ,例如~/.gitattributes

全系统的gitattributes

根据Pro Git书的相关部分 ,

系统中所有用户的属性应放置在$(prefix)/etc/gitattributes文件中。

这自然会引起一个问题:

[…]但是$(prefix)哪里?

请参阅$(前缀)/ etc / gitconfig上的$(前缀)是什么? 作为答案。 除非你给prefix赋了一个自定义的非空值, $(prefix)默认扩展为空, 因此,您系统范围内的gitattributes文件应驻留在/etc/