1. ホーム
  2. git

グローバルな 'gitattributes' ファイルはどこに置くべきですか?

2023-09-21 22:21:09

質問

私は、(文書がないにもかかわらず)あることを理解します。 方法 を設定する Gitの属性 をグローバルに設定します。しかし、どこに必要な gitattributes ファイルを配置する場所がわかりません。そのため の指示 に属すると書いてあります。

$(prefix)/etc/gitattributes

しかし、どこに $(prefix) ? 特に、OS X の場合はどこになるのでしょうか(Git を含む /usr/local/git/bin/git )? 代わりに(あるいは追加で) ~/.gitattributes 作業 ?

どのように解決するのですか?

グローバル設定とシステムワイド設定

質問の用語には曖昧なところがあります。 Gitの文脈では、"global"は通常、"user-level"を意味し、言い換えれば グローバル の設定は、すべてのリポジトリに影響を与えます。 一つ のすべてのリポジトリに影響します。 これに対して システム全体 の設定は、すべてのリポジトリに影響します。 すべての のすべてのリポジトリに影響します。

リポジトリレベルのgitattributes

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

によれば Pro Git book の関連セクション ,

単一のリポジトリにのみ影響を与えたい場合(つまり、そのリポジトリのあるユーザーのワークフローに特有の属性をファイルに割り当てる場合)、属性は $GIT_DIR/info/attributes ファイルに記述します。

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

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

によれば Pro Git book の関連セクション ,

単一のユーザーのためのすべてのリポジトリに影響を与える属性は、以下のように指定されたファイルに置かれるべきです。 core.attributesfile 設定オプション [...] で指定されたファイルに置かれるべきです。そのデフォルト値は $XDG_CONFIG_HOME/git/attributes . もし $XDG_CONFIG_HOME が設定されていないか、空である場合。 $HOME/.config/git/attributes が代わりに使われます。

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

git config --global core.attributesfile <path>

Git に独自のパスを指定するために <path> を、グローバルな gitattributes ファイルに指定します。 ~/.gitattributes .

システム全体の gitattributes

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

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

というのは、当然ながら疑問が生じます。

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

参照 prefix)/etc/gitconfig 上の $(prefix) とは何ですか? をご覧ください。あなたが prefix にカスタムで空でない値を割り当てていなければ $(prefix) はデフォルトでは何もない状態に展開されるため、システム全体の gitattributes ファイルは /etc/ .