git config の確認方法まとめ|スコープ・コマンド・設定ファイルを完全解説

リポジトリ管理
スポンサーリンク

Gitを使っていると、「今どんな設定になっているんだっけ?」「メールアドレスやユーザー名ってどこで確認するの?」と迷うことはありませんか?

git config は、Gitの挙動や情報を制御するための重要な設定コマンドですが、意外と「確認方法」が分かりづらいものです。
特に、設定がローカル・グローバル・システムとスコープに分かれているため、意図した値が使われていなかった…というトラブルも起こりがちです。

本記事では、以下のような疑問をスッキリ解決できるように、実例つきでわかりやすく解説していきます。

  • git config の基本的な確認方法は?
  • 各スコープ(local / global / system)の違いと確認方法は?
  • 設定ファイルはどこにある?
  • 設定が反映されない・優先されないときの対処法は?

Gitの設定に少しでも不安がある方は、この記事を読み終える頃には自信を持って設定を管理できるようになります。

ちなみにGit全体については「Git」のページにまとめているので、Gitの設定以外を知りたい方はこちらも参照してください。

  1. ✅ git config とは?
  2. 🔍 設定の確認方法
    1. 🔸 すべての設定を一括表示したいとき
    2. 🔸 git config の3スコープと“どれが効くか”の仕組み
      1. ✅ “設定の確認”の基本パターン
      2. 📂 設定ファイルの場所(OS別の実体)
      3. 🧠 使い分けの指針(短縮まとめ)
    3. 🔸 特定の設定項目だけを確認したいとき
      1. git config user.name:コミットに記録する「ユーザー名」を設定・確認する
      2. git config user.email:コミットに記録する「メールアドレス」を設定・確認する
  3. 🛠 よく使う git config コマンド一覧
    1. よく使う git config の補助コマンド集(編集・削除・上書き)
      1. 設定ファイルを直接編集する:-e
      2. 設定を削除する:--unset / --unset-all
      3. すでに存在する設定を上書きする:--replace-all
      4. まとめ
  4. 🧩 トラブルシュート|設定が反映されないときは?
    1. スコープの優先順位を確認する
    2. 設定が重複している可能性
    3. 権限の問題
    4. 環境変数が優先されている
  5. 💡 実践例:自分の設定を一括で確認する
    1. 使用コマンド:
    2. 出力例:
    3. チェックポイント
  6. 📚 よくある質問(FAQ)
    1. Q. Gitの config を確認する方法は?
    2. Q. Git config ファイルはどこにありますか?
    3. Q. Gitのセットアップが完了しているか確認したいです
    4. Q. git config --list とは何ですか?
    5. Q. グローバルとローカルの設定、どちらが優先される?
    6. Q. GUI ツールを使っていて設定が意図しないものになるのですが?
    7. Q. 環境変数の設定を解除したいときはどうすれば?
    8. Q. .gitconfig を直接書き換えても反映されないことがあります。なぜ?
    9. Q. すべての設定を初期化したいです
    10. Q. コミットごとに一時的に名義を変えたい
    11. Q. すでに作ったコミットの名義を直したい
    12. Q. fatal: unable to auto-detect email address が出る
  7. 📝 まとめ
    1. 🔗 参考リンク
    2. 🧭 関連記事もチェック
  8. 関連記事

✅ git config とは?

git config は、Gitの動作をカスタマイズするための設定コマンドです。Gitを使う上で必要となるさまざまな情報を登録・変更・確認するために使用されます。

Gitは「分散型バージョン管理システム」であるため、利用者や環境に合わせて細かく設定できるようになっています。その中心となるのがこの git config です。

たとえば、次のような用途で使用されます:

  • ユーザー名やメールアドレスの設定
    → Gitのコミット履歴に記録される著者情報の設定
  • デフォルトエディタの指定
    → コミットメッセージ入力時などに起動するテキストエディタを指定
  • 改行コードの自動変換ルールの設定
    → OSごとに異なる改行コードの扱いを統一する設定
  • 差分ツールやマージツールの指定
    → コンフリクト解消時に使用する外部ツールの指定
  • 認証情報の保存方法の指定
    → パスワードやトークンの保存方法を定義(credential helper)

こうした設定は、すべて git config コマンドで制御できます。

Gitは複数のレイヤー(スコープ)で設定を読み込む仕組みになっているため、設定がどの範囲に適用されているのかを意識することも重要です。

ちなみに、git config に関するリファレンス情報をまとめた記事はこちらから[git config リファレンス]確認できます。

🔍 設定の確認方法

Gitの設定内容は、`git config` コマンドを使っていつでも確認できます。ここでは、すべての設定を一括で確認する方法から、特定の設定だけを確認する方法までを順に紹介します。

🔸 すべての設定を一括表示したいとき

git config --list

このコマンドを使うと、現在有効になっているすべての設定項目を一覧表示できます。表示内容にはローカル・グローバル・システムのすべてのスコープの設定が含まれます(※重複する場合は上書きされます)。

user.name=Your Name
user.email=you@example.com
color.ui=auto
core.editor=vim
...

🔸 git config の3スコープと“どれが効くか”の仕組み

git config には system / global / local の3つのスコープがあります。
読み込み順は system → global → local。同じキーが複数に存在する場合は、より後に読み込まれる=スコープの狭い設定が最終的に有効になります。

スコープ対象範囲主な用途一覧表示
systemマシン上の全ユーザーOS全体の既定値git config --system --list
global現在のユーザーふだんの既定値git config --global --list
localカレントのリポジトリそのリポジトリだけの上書きgit config --local --list

「結局いま有効なのはどれ?」を一気に見たいなら:

git config --list --show-origin
# どのファイルから読まれた値か(=由来)が分かる

✅ “設定の確認”の基本パターン

全部まとめて確認

git config --list

実際には system → global → local の順に展開され、同じキーは後段で上書きされた最終値が見えます。

特定キーだけ確認

git config user.name
git config user.email

同じキーが複数スコープにある場合、最終的に有効な値が返ります。
重複を含めてすべて見たいときは:

git config --get-all user.name

どこから読まれたかも確認

git config --list --show-origin
# (対応環境) git config --list --show-origin --show-scope

📂 設定ファイルの場所(OS別の実体)

local(リポジトリ単位)

  • <repo>/.git/config

global(ユーザー単位)

  • 伝統的: ~/.gitconfig(Linux / macOS)
  • 代替(XDG規約に準拠する環境): ~/.config/git/config
  • Windows: C:\Users\<User>\.gitconfig

system(システム全体)

  • Linux / macOS(例): /etc/gitconfig ほか、インストール形態に依存
  • Windows(例):
    • C:\Program Files\Git\mingw64\etc\gitconfig
    • C:\Program Files (x86)\Git\etc\gitconfig
    • ツールに同梱されたGitの場合は当該ツール配下の …\etc\gitconfig にあることも

注意:--system の編集・書き込みには 管理者権限(sudo / 管理者権限) が必要な場合があります。

🧠 使い分けの指針(短縮まとめ)

  • ふだんの既定値--global に置く
  • 特定プロジェクトだけ違う値にしたい → リポジトリ直下(--local)で上書き
  • 組織配布の共通既定値--system(要管理者権限)

案件ごとに名義やアドレスを変えるなら、各リポジトリで --local 上書き

git config user.name "Client A Dev"
git config user.email "dev@client-a.example"

🔸 特定の設定項目だけを確認したいとき

個別の設定内容を確認したい場合は、以下のようにキー名を指定して確認できます。

git config user.name
git config user.email

出力例:

Your Name
you@example.com

git config user.name:コミットに記録する「ユーザー名」を設定・確認する

user.name は、Gitのコミット履歴に表示されるユーザー名(著者名)を指定するための設定です。
この値は、コミットログ内の「Author」欄に記録され、共同開発の際には誰が変更を行ったのかを明確にするために使われます。

設定の例は次のとおりです。

# すべてのリポジトリ共通で設定
git config --global user.name "Your Name"

# 特定のリポジトリのみ別名で設定
git config user.name "Project Contributor"

設定内容を確認したい場合は、次のように入力します。

git config user.name

これで、現在有効なユーザー名が表示されます。
どの設定ファイル(local / global / system)から読み込まれたかを確認したい場合は、--show-origin オプションを付けて実行します。

git config user.email:コミットに記録する「メールアドレス」を設定・確認する

user.email は、コミットの著者に紐づけられるメールアドレスを指定します。
多くの開発プラットフォームでは、メールアドレスがユーザー識別やアバター表示に使われます。

設定方法は user.name と同様です。

# グローバル設定(全リポジトリ共通)
git config --global user.email "you@example.com"

# リポジトリ単位で別アドレスを使いたい場合
git config user.email "project@example.com"

設定済みのメールアドレスを確認するには次のコマンドを使います。

git config user.email

🛠 よく使う git config コマンド一覧

Gitの設定を扱う際によく使われる git config の基本的なコマンドを一覧で紹介します。これらのコマンドを覚えておくことで、設定の確認や変更がスムーズになります。

コマンド説明
git config --listすべての設定を一覧表示する
git config <key>指定したキーの設定内容を確認する
git config --global <key>グローバルスコープの設定を確認する
git config --local <key>ローカルスコープの設定を確認する
git config --show-origin各設定がどのファイルに定義されているかを表示する
git config -eデフォルトのスコープで設定ファイルを直接編集する
git config --unset <key>指定したキーの設定を削除する

どのスコープに対して実行するかを意識して使うことが重要です。たとえば、ローカルの設定を編集したい場合には --local を付けてコマンドを実行します。必要に応じて --global--system を使い分けましょう。

よく使う git config の補助コマンド集(編集・削除・上書き)

git config は設定の確認だけでなく、変更や削除なども柔軟に行えるコマンドです。ここでは、よく使われる補助的なオプションについて紹介します。

設定ファイルを直接編集する:-e

コマンド操作よりファイル編集の方が慣れている方は、-e オプションを使うと便利です。

git config -e           # ローカル設定ファイル(.git/config)を編集
git config --global -e  # グローバル設定ファイル(~/.gitconfig)を編集

エディタが起動して、直接ファイル内容を編集できます。

設定を削除する:--unset / --unset-all

設定値を削除したいときには --unset を使用します。

git config --global --unset user.name

同じキーが複数回設定されている場合は、すべて削除するには --unset-all を使います。

git config --global --unset-all alias.co

すでに存在する設定を上書きする:--replace-all

すでに同じキーが存在している場合でも、強制的に新しい値に置き換えるには --replace-all を使用します。

git config --global --replace-all user.name "New Name"

通常の git config --global user.name "New Name" と似ていますが、複数同じキーがある場合でも一括で上書きされる点が異なります。

まとめ

コマンド概要
-e対象スコープの設定ファイルを直接編集する
--unset1つの設定項目を削除する
--unset-all同じキーの設定をすべて削除する
--replace-all同じキーが複数存在していても全てを上書きする

Git設定を自在に扱えるようになることで、より柔軟に開発環境を管理できるようになります。設定のトラブル対応や、プロジェクトごとの調整にも役立つため、覚えておくと便利です。

🧩 トラブルシュート|設定が反映されないときは?

git config で設定を変更したのに反映されていないように見える場合、いくつかの原因が考えられます。以下のポイントを順に確認していくことで、問題の特定と解決につながります。

スコープの優先順位を確認する

Gitの設定は以下の優先順位で適用されます:

local(リポジトリ単位) > global(ユーザー単位) > system(システム全体)

たとえば、~/.gitconfig(グローバル)に user.name を設定していても、ローカルの .git/config に同じキーがあれば、そちらが優先されます。

設定が重複している可能性

同じキーが複数のスコープに存在すると、どの設定が有効になっているのかが分かりづらくなります。
その場合は、以下のコマンドでどのファイルから読み込まれているかを確認できます。

git config --show-origin --list

表示されるファイルパスを確認し、意図したスコープに正しく設定されているかを見直しましょう。

権限の問題

リポジトリ内の .git/config ファイルが読み取り専用(または書き込み不可)になっていると、設定の変更や反映に失敗することがあります。

  • ファイルの所有者やパーミッションを確認する
  • chmodchown で適切な権限に変更する(必要に応じて)

環境変数が優先されている

Gitは一部の設定について、環境変数を優先する仕様があります。たとえば、以下のような変数が設定されていると、git config の値が上書きされることがあります。

  • GIT_AUTHOR_NAME
  • GIT_AUTHOR_EMAIL
  • GIT_COMMITTER_NAME
  • GIT_COMMITTER_EMAIL

これらの変数が設定されていないかを確認し、不要であればシェル設定ファイル(.bashrc, .zshrc など)から削除またはコメントアウトしましょう。


設定がうまく反映されない場合は、焦らずにスコープ・優先順位・ファイル状態・環境変数の4点を順に確認してみることが大切です。

💡 実践例:自分の設定を一括で確認する

Gitの設定が正しく行われているかどうかを確認する最も効果的な方法が、--show-origin オプションを使ったコマンドです。
設定値とともにどのファイルから読み込まれたのかが一目で分かるため、スコープや重複の確認にも便利です。

使用コマンド:

git config --show-origin --list

出力例:

file:/Users/you/.gitconfig     user.name=Your Name
file:/Users/you/.gitconfig     user.email=you@example.com
file:.git/config               core.repositoryformatversion=0
file:.git/config               remote.origin.url=git@github.com:example/repo.git

チェックポイント

以下のポイントを確認して、意図した設定になっているかをチェックしましょう。

  • 名前とメールアドレスは正しいか?
    → チーム開発では特に、間違った情報でコミットしないよう注意が必要です。
  • スコープが意図したものになっているか?
    ~/.gitconfig に設定したつもりが、ローカルの .git/config に上書きされていないか確認します。
  • 他ツールで設定されていないか?
    → VSCodeやSourceTreeなどのGUIツールは、内部的に独自の設定を行っている場合があります。ツールごとの設定画面や自動生成されたGit設定を見落とさないようにしましょう。

このコマンドとチェックリストを使えば、自分のGit設定に迷うことはほとんどなくなります。特に初期設定後や、チームメンバーと設定を揃える場面での確認におすすめです。

📚 よくある質問(FAQ)

Q. Gitの config を確認する方法は?

git config --list を実行することで、現在有効になっているすべての設定を一覧表示できます。
特定の設定だけを確認したい場合は、以下のようにキーを指定します。

git config user.name
git config user.email

Q. Git config ファイルはどこにありますか?

設定の保存場所はスコープによって異なります。

スコープパス例
システム/etc/gitconfig(環境によって異なる)
グローバル~/.gitconfig または ~/.config/git/config
ローカル<リポジトリ>/.git/config

どのファイルが実際に使用されているかを確認するには、以下のコマンドを使用します。

git config --show-origin --list

Q. Gitのセットアップが完了しているか確認したいです

Gitを使う前に、ユーザー名とメールアドレスが設定されているか確認しましょう。

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

値が設定されていない場合は、以下のように設定してください。

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Q. git config --list とは何ですか?

git config --list は、すべてのスコープ(local / global / system)を含めた有効な設定を一覧表示するコマンドです。
重複している設定項目については、実際に適用されている値が表示されるため、現在の状態を把握するのに非常に便利です。

以下は、不足している要素「5. FAQの強化」に対応するセクションです。
検索ユーザーの意図をより深く汲み取った形で、基本的な疑問から一歩踏み込んだ内容までカバーしています。

Q. グローバルとローカルの設定、どちらが優先される?

A. Gitは次の優先順位で設定を読み込みます。

ローカル(.git/config) > グローバル(~/.gitconfig) > システム(/etc/gitconfig)

つまり、同じキー(例:user.name)が複数に存在する場合は、ローカルの値が優先されます
どのスコープから読み込まれているかを調べるには、次のコマンドを使います:

git config --show-origin user.name

Q. GUI ツールを使っていて設定が意図しないものになるのですが?

A. GUI クライアント(例:SourceTree、GitKraken、VSCode)は、内部的に git config を操作している場合があります。

  • GUI 上で設定した内容が .gitconfig に書き込まれる
  • 意図せずローカルスコープに書き込まれている
  • ツール独自のキャッシュ機構が原因で反映されないこともある

コマンドラインで確認・上書きすることで、明示的な状態に戻せます。

Q. 環境変数の設定を解除したいときはどうすれば?

A. 以下のように、環境変数を一時的に無効にできます(セッション限定):

unset GIT_AUTHOR_NAME
unset GIT_AUTHOR_EMAIL

恒久的に削除するには、.bashrc.zshrc に設定されている行を削除またはコメントアウトしてください。

Q. .gitconfig を直接書き換えても反映されないことがあります。なぜ?

A. いくつかの可能性があります:

  • ファイル保存後にGitが再読み込みしていない(エディタの自動保存などが不完全)
  • 構文ミスがある(= の前後に空白がないか、改行コードが正しいか)
  • 上位スコープの設定により上書きされている

このようなときは、git config --list --show-origin で、どの設定が有効になっているかを再確認しましょう。

Q. すべての設定を初期化したいです

A. 各スコープの設定ファイルを削除またはリセットすれば初期状態に戻せます。

例:グローバル設定をリセット

mv ~/.gitconfig ~/.gitconfig.backup
touch ~/.gitconfig

もしくは一部の設定だけを削除したい場合は:

git config --global --unset user.name
git config --global --unset user.email

Q. コミットごとに一時的に名義を変えたい

A. コミット時に --author を付ける:

git commit --author="Temp Name <temp@example.com>" -m "Fix"

(環境変数 GIT_AUTHOR_NAME / GIT_AUTHOR_EMAIL でも一時上書き可)

Q. すでに作ったコミットの名義を直したい

A. 最新コミットのみなら --amend --reset-author。複数に渡る場合は git rebase -i 等で履歴を書き換え(共有済みブランチでは注意

git commit --amend --reset-author

Q. fatal: unable to auto-detect email address が出る

A. user.name / user.email が未設定です。まずグローバルで設定しましょう:

git config --global user.name  "Your Name"
git config --global user.email "you@example.com"

📝 まとめ

  • git config --list を使えば、現在有効なすべての設定を一括で確認できます。
  • 設定はスコープ(local / global / system)によって管理され、それぞれ別の設定ファイルに保存されます。
  • --show-origin オプションを使えば、設定がどのファイルに定義されているのかを特定できます。
  • 設定が反映されない場合は、スコープの優先順位や環境変数の影響をチェックすることが重要です。

Gitの設定は、快適な開発環境を保つだけでなく、チーム開発でのトラブルを防ぐためにも重要な知識です。

一度正しく理解しておくことで、ミスを減らし、作業効率を大きく向上させることができます。
ぜひこの記事をブックマークして、困ったときにすぐに確認できるようにしておきましょう。

🔗 参考リンク

Git の設定や git config コマンドについて、より詳しく理解したい方はこちらの公式・解説記事も参考になります。

🧭 関連記事もチェック

Git の設定を理解したら、次は実際の操作や構成ファイルについても確認してみましょう。

これらの記事を読むことで、Git の基本操作から設定管理まで、一連の流れを理解できます。
特に git config の設定内容がリポジトリ全体の動作にどのように影響するかを知ると、より安心して作業できるようになります。

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント