音声スライド (クリックで展開/閉じる)
はじめに
- この単元では Git の設定の仕組みを学ぶ
- 3 つの階層に分かれた設定の優先順位を理解する
- 本人情報(ユーザー名・メールアドレス)を設定する
- 設定内容を確認する方法を身につける
この単元では、Git の設定がどのような仕組みで成り立っているかを学びます。設定には system・global・local という 3 つの階層があり、それぞれの優先順位を理解します。また、コミットに記録される本人情報として、ユーザー名とメールアドレスを設定する方法を学びます。最後に、設定した内容がどこに書き込まれているかを確認する方法も身につけます。
設定の 3 階層とは
| 階層 | 設定ファイル | 適用範囲 |
|---|---|---|
| system | 全ユーザー共通の設定 | この端末を使う全員 |
| global | ~/.gitconfig |
自分が使う全リポジトリ |
| local | .git/config |
そのリポジトリだけ |
Git の設定には、system・global・local という 3
つの階層があります。system は端末を使う全員に共通の設定です。global
は自分が使うすべてのリポジトリに共通する設定で、~/.gitconfig
というファイルに書き込まれます。local
はそのリポジトリだけに適用される設定で、.git/config
というファイルに書き込まれます。
優先順位のイメージ

system・global・local の優先順位を図で確認します。内側の階層ほど優先順位が高く、local の設定が global の設定を上書きし、global の設定が system の設定を上書きします。同じ設定項目が複数の階層に書かれている場合は、最も内側の、優先順位の高い階層の値が使われます。
ユーザー名とメールアドレス
user.nameはコミットに記録される名前user.emailはコミットに記録されるメールアドレス- 未設定のままではコミットを作成できない
- この情報は将来 GitHub のアカウントと結びつく
user.name はコミットに記録される名前を表し、user.email はコミットに記録されるメールアドレスを表します。この 2 つが未設定のままでは、Git はコミットを作成できません。また、ここで設定したメールアドレスは、将来 GitHub のアカウントと結びつく重要な情報になります。
本人情報を設定する
git config --global user.name コマンドと
git config --global user.email
コマンドを使うと、コミットに記録する名前とメールアドレスを設定できます。--global
を付けることで、この端末におけるすべてのリポジトリに共通する設定として登録されます。
未設定だとコミットできない
- user.name / user.email が空のままコミットを試みる
- Git がエラーを表示してコミットを中断する
- 先に本人情報を設定しておく必要がある
user.name や user.email を設定しないままコミットしようとすると、Git はエラーメッセージを表示してコミットを中断します。コミットには必ず記録者の情報が必要なので、最初に本人情報を設定しておく必要があります。
メールアドレスと GitHub の関係
- メールアドレスは GitHub アカウントに紐づく
- 一致しないと自分の貢献として表示されないことがある
- 詳しい設定方法は後の単元(リモート)で扱う
ここで設定したメールアドレスは、GitHub のアカウントに登録されたメールアドレスと結びつきます。一致していないと、GitHub 上でそのコミットが自分の貢献として表示されないことがあります。GitHub との具体的な接続方法は、リモートリポジトリを扱う後の単元で学びます。
設定内容を確認する
git config --list --show-origin
# 出力の例:
# file:/etc/gitconfig http.sslverify=true
# file:/home/user/.gitconfig user.name=John Doe
# file:/home/user/.gitconfig user.email=john@example.com
# file:.git/config core.repositoryformatversion=0
# file:.git/config core.filemode=true
# file:.git/config core.bare=falsegit config --list --show-origin
コマンドを実行すると、現在有効なすべての設定項目と、その設定がどのファイルに書かれているかを一覧で確認できます。
確認コマンドの使いどころ
- 意図しない値で上書きされていないか確認できる
- どの階層の設定が使われているかが分かる
- 設定に関するトラブルの一次調査に使う
この確認コマンドは、設定が意図しない値で上書きされていないかを調べたり、どの階層の設定が実際に使われているかを特定したりするのに役立ちます。設定に関するトラブルが起きたときの、最初に確認すべき手段です。
まとめ
- 設定は system / global / local の 3 階層に分かれる
- 優先順位は local > global > system
- user.name と user.email をコミットに記録する
git config --list --show-originで確認できる
この単元では、Git の設定が system・global・local という 3
つの階層に分かれ、local・global・system
の順に優先されることを学びました。また、コミットに記録される本人情報として
user.name と user.email を設定する方法、そして
git config --list --show-origin
で設定内容を確認する方法を学びました。