Gitの設定をgit configで確認・変更
Gitの設定(ユーザー名やメールアドレスなど)をgit config
で確認・変更する方法について説明する。
Gitの設定ファイルの種類と場所(system, global, local)
Gitの設定ファイルは、system, global, localの3種類がある。
種類 | 対象範囲 | 場所の例 | 備考 |
---|---|---|---|
system | システム全体(全ユーザーの全リポジトリ) | /etc/gitconfig |
- |
global | 該当ユーザーの全リポジトリ | ~/.gitconfig |
ホーム直下 |
local | 該当リポジトリ | repository/.git/config |
リポジトリの.git 直下 |
設定の優先順位は、local > global > system。
同じ項目が複数のレベルで設定されていると優先度の高いレベルの値が使用される。例えば、systemとlocalで同じ項目が設定されている場合はlocalの値が有効になる。
なお、以下で説明するgit config
コマンドを使ってそれぞれの設定ファイルの確認・編集が可能なので、ファイルの置き場所を気にする必要はない。
git config
コマンドによる設定の確認・変更
設定の確認や変更などには、git config
コマンドを使う。
設定項目
設定項目の一覧およびその詳細は以下のリンクから。
設定項目は大量にあるが、例えば、以下の項目がある。
user.name
: ユーザー名user.email
: Eメールアドレスcolor.ui
: Gitの出力の色分け(通常はauto
と設定)core.editor
: コミットメッセージなどの編集で用いるエディタ
設定の確認
git config <name>
で各項目の設定を確認できる。<name>
には上述の設定項目(例えばuser.email
)を入れる。
コマンドを実行した場所(カレントディレクトリ)で有効になっている値が表示される。値が設定されていない場合は何も表示されない。
$ git config <name>
# 例
$ git config user.email
example@example.com
local, system, globalそれぞれにおける項目の設定値を確認したい場合はオプションをつける。
$ git config --local <name>
$ git config --global <name>
$ git config --system <name>
--local
オプションはリポジトリ内でのみ使用可能。リポジトリ外ではエラーになるので注意。
# Gitリポジトリの外側で実行した場合
$ git config --local <name>
fatal: --local can only be used inside a git repository
設定の一覧表示
git config -l
(またはgit config --list
)で、コマンドを実行した場所(カレントディレクトリ)で有効になっている設定項目とその設定値がすべて表示される。
$ git config -l
local, system, globalのそれぞれの設定を個別に確認する場合はオプションを付ける。
$ git config --local -l
$ git config --global -l
$ git config --system -l
設定の変更
git config <name> <value>
で各項目の設定を変更できる。<name>
には上述の設定項目user.email
などを入れ、<value>
には新しい値を入れる。
デフォルト(オプションなし)ではlocalの設定が変更される。globalやsystemの設定を変更したい場合はオプションを付ける。
$ git config <name> <value> # ローカルの設定を変更
$ git config --global <name> <value>
$ git config --system <name> <value>
例えば、user.email
をどのリポジトリでも共通にしたい場合は--global
オプションを付けて以下のように設定する。
$ git config --global user.email example@example.com
Gitで管理されていない場所(Gitリポジトリの外側)でオプションなしで実行するとエラーとなる。local(リポジトリごとの設定)を変更したい場合は該当のリポジトリ内に移動して実行する。
# Gitリポジトリの外側で実行した場合
$ git config <name> <value>
fatal: not in a git directory
設定ファイルをエディタで直接編集
git config -e
(またはgit config --edit
)で設定ファイルをエディタで直接編集できる。
それぞれの設定ファイルがcore.editor
で設定されているエディタで開かれる。未設定の場合はシステムのデフォルトエディタが使われる。
$ git config -e # ローカルの設定を変更
$ git config --global -e
$ git config --system -e