git config 使い方

git の設定ファイルを開く

ユーザのデフォルトの設定は ~/.gitconfig に保存される。 また、個々のリポジトリの .git ディレクトリの中に config というファイルがあり、 それぞれのリポジトリの設定が保存される。 git のリポジトリで

cat .git/config

とすると設定ファイルの中身が表示される。

ユーザの設定ファイルに対して設定を行う

「–global」オプションをつけると、~/.gitconfig に対しての操作になる。 たとえば、

git config --global core.editor vim

とすると、[core] のところに「editor = vim」が追加される。

特定の設定ファイルに対して設定を行う

「-f」オプションを使ってファイルを指定する。たとえば

git config -l -f .git/config

のように使用する。

ユーザ固有のリポジトリの設定の値を表示する

git config -l --global

単に、

cat ~/.gitconfig

としても値を調べることができる。

リポジトリの設定で使用される値を表示する

git config -l

とするとリポジトリで使用される設定が表示される (–local、–global、–system オプションで表示される設定を組み合わせたもの)。

リポジトリの設定の特定のキーに対する値を得る

「–get」オプションを使う。 たとえば、「user.email」に対応する値を得るには

git config --get user.email

とする。

リポジトリの設定のキーを正規表現で検索して値を表示する

「–get-regexp」オプションを使う。 たとえば、「color」から始まるキーの値を表示するには

git config --get-regexp "^color"

とする。

リポジトリの設定ファイルをエディタで編集する

「-e」オプションを使って

git config -e

git config -e --global

とする。

デフォルトのユーザ名、メールアドレスを設定する

デフォルトのユーザ名とメールアドレスを登録するには「–global」オプションを使って

git config --global user.email "Your email"
git config --global user.name "Your name"

とする。個々のリポジトリで値が定まっていないときに、これらの値が使用される。

エディタとページャを設定する

エディタとページャに vim と lv を使うには

git config --global core.editor vim
git config --global core.pager "lv -c"

とする。

端末に色つきの文字を出力する

だいたいの場合では

git config --global color.ui auto

としておけば良い。個別に

color.branch
color.diff
color.interactive
color.status

の値を設定することもできる。

各リポジトリに固有のユーザ名、メールアドレスを設定する

いつも使用しているユーザ名、メールアドレスとは異なるものを、 特定のリポジトリで使いたい場合がある。 対象のリポジトリで「–global」オプションを使わずに設定すれば良い。

git config user.email "Your email"
git config user.name "Your name"

コマンドのエイリアスを設定する

たとえば、「alias.name」の値を「command」に設定すると「git name」で「git command」を 実行するエイリアスになる。 subversion 風に「checkout」を「co」、「commit」を「ci」とするには

git config --global alias.co "checkout"
git config --global alias.ci "commit"

とする。

全てのリポジトリで無視するパターンを登録する

バックアップやテンポラリファイルなどは、リポジトリに関わらずに共通な場合が多い (Emacs の *~ など)。 全てのローカルのリポジトリで共通のパターンは core.excludesfile に指定したファイルに記述する。 ホームディレクトリ以下の .gitignore を使うには

git config --global core.excludesfile "~/.gitignore"

とする。~/.gitignore にリポジトリ以下の .gitignore と同じように記述する。

参考

  • man git-config

Tags of current page