23

見つからないエイリアスがあります。入力すると、次のようになりgit help subaddvimます。

`git subaddvim' is aliased to `log HEAD'

私はそれを次のように定義したと思います:

git config --local alias.subaddvim 'log HEAD'

$repo_path/.gitconfig~/.gitconfig、を調べまし/etc/gitconfigたが、subaddvim エントリはありません。

他にどこを見ることができますか?

4

2 に答える 2

20

Scott Chacon の優れた本「Pro Git」では、物が保存されgit configている場所と、その場所に読み書きするために渡すオプションについて説明しています。

Git には git config というツールが付属しており、Git の外観と動作のすべての側面を制御する構成変数を取得および設定できます。これらの変数は、次の 3 つの異なる場所に格納できます。

  • /etc/gitconfig ファイル: システム上のすべてのユーザーとそのすべてのリポジトリの値が含まれています。オプション--systemを git config に渡すと、特にこのファイルから読み書きします。

  • ~/.gitconfig ファイル: ユーザー固有。--globalオプションを渡すことで、Git にこのファイルの読み取りと書き込みを具体的にさせることができます。

  • 現在使用しているリポジトリの git ディレクトリ (つまり、.git/config) にある config ファイル: その単一のリポジトリに固有です。各レベルは前のレベルの値をオーバーライドするため、.git/config の値は /etc/gitconfig の値よりも優先されます。

--listオプションを使用して、どこで何が定義されているかを git に通知させることができます。

# shows all settings
git config --list

# shows system settings
git config --list --system

# shows user settings
git config --list --global

# shows project settings
git config --list --local
于 2012-07-31T20:08:11.897 に答える
12

--local文書化されていない (または廃止された)フラグを使用する場合とフラグを使用しない場合に違いはありません。Git は、リポジトリ ルート ( ) で gitconfig を探すことはありません$repo_path/.gitconfig。リポジトリローカル構成の変更は にあり.git/configます。

git help config有効なオプションについて説明します。

--global オプションを書き込む場合: リポジトリ .git/config ではなくグローバル ~/.gitconfig ファイルに書き込みます。

   For reading options: read only from global ~/.gitconfig rather than from
   all available files.

--system オプションを記述する場合: リポジトリ .git/config ではなく、システム全体の $(prefix)/etc/gitconfig に書き込みます。

   For reading options: read only from system-wide $(prefix)/etc/gitconfig
   rather than from all available files.

(git バージョン 1.7.9 を使用)

これで検索してみることができます (リポジトリのルートから、git が /bin にインストールされていると仮定します):

grep subaddvim .git/config ~/.gitconfig /etc/gitconfig
于 2012-07-31T19:36:04.217 に答える