git config
ユーザー名・メールアドレスなどの Git の動作設定を行います。個人設定からプロジェクト固有の設定、コマンドの alias 登録まで幅広く使います。
構文
git config [--global|--local|--system] <key> [value] git config は、Git の動作をユーザー単位・リポジトリ単位で設定するコマンドです。最初のセットアップで使う user.name / user.email から、日常操作を効率化する alias まで、幅広い用途に使われます。
設定の3つのスコープ
Git の設定は3つのレベルに分かれており、より狭い範囲の設定が優先されます。
| スコープ | 保存先 | 適用範囲 |
|---|---|---|
--system | /etc/gitconfig | PC上の全ユーザー・全リポジトリ |
--global | ~/.gitconfig | 実行ユーザーの全リポジトリ |
--local(デフォルト) | .git/config | 現在のリポジトリのみ |
優先順位は --local > --global > --system です。プロジェクト固有の設定をしたい場合は --local、普段使いの個人設定は --global を使います。
user.name / user.email の初期設定
Git を初めて使う際に必須の設定です。
# グローバル設定(PC全体のデフォルト)
git config --global user.name "Taro Yamada"
git config --global user.email "taro@example.com"
会社用と個人用でメールアドレスを分けたい場合は、特定のリポジトリだけ --local で上書きします。
# このリポジトリだけ別のメールアドレスを使う
cd ~/work/company-project
git config --local user.email "taro@company.com"
デフォルトエディタを設定する
コミットメッセージ編集やインタラクティブリベースで開かれるエディタを指定できます。
# VSCode をエディタとして使う
git config --global core.editor "code --wait"
# Vim を使う
git config --global core.editor "vim"
alias で日常操作を効率化する
よく使うコマンドを短い名前に登録できます。
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.last "log -1 HEAD"
設定後は短縮形でコマンドを実行できます。
git st # git status と同じ
git co main # git checkout main と同じ
設定を確認する
# 現在有効なすべての設定を一覧表示
git config --list
# 設定がどのファイルから読み込まれているかも表示
git config --list --show-origin
# 特定のキーだけ確認
git config user.email
設定を削除・編集する
# 特定の設定を削除
git config --global --unset alias.st
# 設定ファイルを直接エディタで開く
git config --global --edit
ヒント
git config --localで設定したプロジェクト固有の設定は、--globalの設定を一時的に上書きします。削除すれば--globalの設定に戻ります。- alias には Git 以外のシェルコマンドも登録できます。先頭に
!を付けると外部コマンドとして実行されます(例:git config --global alias.graph "!git log --oneline --graph --all")。