76

(ドキュメントがないにもかかわらず) Git 属性をグローバルに設定する方法があると思います。しかし、必要なファイルをどこに配置すればよいかわかりません。指示は、彼らが属していると言いますgitattributes

$(prefix)/etc/gitattributes

しかし、どこ$(prefix)ですか?特に、OS X (Git in を使用/usr/local/git/bin/git) の場合はどこになりますか? 代わりに(またはさらに)~/.gitattributes 動作しますか?

4

2 に答える 2

106

グローバル設定とシステム全体の設定

質問の用語にはあいまいさがあります。Git のコンテキストでは、「グローバル」は通常「ユーザーレベル」を意味します。つまり、グローバル設定は、 1 人の特定のユーザー (アクティブなユーザー) のすべてのリポジトリに影響します。対照的に、システム全体の設定は、マシンのすべてのユーザーのすべてのリポジトリに影響します。

リポジトリレベルの git 属性

(完全を期すためにこれについて言及しているだけです。)

Pro Git bookの関連セクションによると、

単一のリポジトリのみに影響を与える場合 (つまり、そのリポジトリの 1 人のユーザーのワークフローに固有のファイルに属性を割り当てる場合)、属性を$GIT_DIR/info/attributesファイルに配置する必要があります。

$GIT_DIR通常、 に展開され<path-to-repo-root-directory>/.gitます。

グローバル (ユーザーレベル) gitattributes

Pro Git bookの関連セクションによると、

core.attributesfile1 人のユーザーのすべてのリポジトリに影響する属性は、構成オプション [...]で指定されたファイルに配置する必要があります。デフォルト値は です$XDG_CONFIG_HOME/git/attributes$XDG_CONFIG_HOMEが設定されていないか空の場合は、$HOME/.config/git/attributes代わりに使用されます。

次のコマンドを実行することもできます。

git config --global core.attributesfile <path>

<path>Git をグローバル gitattributes ファイルのカスタム パスにポイントします~/.gitattributes

システム全体の git 属性

Pro Git bookの関連セクションによると、

システム上のすべてのユーザーの属性を$(prefix)/etc/gitattributesファイルに配置する必要があります。

当然、次のような疑問が生じます。

[...] しかし、どこ$(prefix)ですか?

$(prefix)/etc/gitconfig の $(prefix) とは何ですか? を参照してください。答えのために。prefixカスタムの空でない値を割り当てていない限り$(prefix)、デフォルトでは何も展開されません。したがって、システム全体のgitattributesファイルは/etc/.

于 2015-01-19T15:07:30.360 に答える