Git の基本 | git config

git config コマンド

git config は、インストール済みの Git 環境または個別のリポジトリに対して、コマンドラインインターフェースから設定を変更するためのコマンドである。このコマンドを使うと、ユーザー情報からリポジトリ動作の初期設定まで、さまざまな項目を設定できる。よく使用される設定オプションの一部を以下に示す。

使い方

git config user.name <name>

現在のリポジトリで、すべてのコミットに使用される author 名を設定する。この設定は通常、--global フラグを指定して現在のユーザー向けに設定する。

git config --global user.name <name>

現在のユーザーが作成するすべてのコミットの author 名を設定する。

git config --global user.email <email>

現在のユーザーが作成するすべてのコミットの author メールアドレスを設定する。

git config --global alias <alias-name> <git-command>

Git コマンドのエイリアスを作成する。これは Linux の alias と同じように機能する。

git config --global color.ui "auto"

Git コマンドのユーザーインターフェースで色を使うように設定する。

git config --system core.editor <editor>

現在使用しているマシンで、git commit などのコマンド実行時に使用するエディタを指定する。引数 <editor> には、そのエディタを起動するコマンドを指定する。たとえば vi などである。

git config --global --list

現在設定されているグローバルな Git 設定を表示する。

git config --global --edit

グローバル設定ファイルをテキストエディタで開く。このコマンドを使うと、設定ファイルを手動で編集できる。

補足説明

すべてのオプション設定はプレーンテキストファイルに保存されるため、git config は利便性を高めるためのコマンドラインインターフェースにすぎない。一般的に Git の設定が必要になるのは、新しい開発マシンで初めて作業を始めるときであり、実際にはほとんどの場合 --global フラグを指定する。

Git のオプション設定は 3 つのファイルに分かれて保存される。次の場所で、リポジトリ別、ユーザー別、システム全体の設定内容をそれぞれ確認できる。

  • <repo>/.git/config: 各リポジトリに関する設定。
  • ~/.gitconfig: ユーザー別の設定。--global フラグを指定したオプション設定がここに保存される。
  • $(prefix)/etc/gitconfig: システム全体の設定。

これらのファイルの設定が競合する場合、ユーザー別設定はシステム全体の設定より優先され、各リポジトリの設定はユーザー別設定より優先される。

設定の優先順位: 各リポジトリの設定 > ユーザー別設定 > システム全体の設定

設定ファイルを開くと、次のような内容が表示される。

[user]
name = John Smith
email = john@example.com
[alias]
st = status
co = checkout
br = branch
up = rebase
ci = commit
[core]
editor = vim

これらの値は手動で編集でき、その効果は git config コマンドを使用した場合と同じである。

使用例

Git をインストールした後、最初に行うべきことはユーザー名とメールアドレスの設定であり、必要に応じていくつかの基本設定を定義する。初期設定コマンドは一般的に次のようになる。

# Tell Git who you are
git config --global user.name "John Smith"
git config --global user.email john@example.com
# Select your favorite text editor
git config --global core.editor vim
# Add some SVN-like aliases
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.up rebase
git config --global alias.ci commit

これにより、上記のような ~/.gitconfig ファイルが作成される。