【Git】git config 確認の方法を初心者向けにわかりやすく解説
はじめに
Gitはソフトウェア開発の現場で広く使われているバージョン管理システムです。 複数の人が同時にコードを編集しても衝突しにくく、変更履歴を簡単に追えるため、共同開発や個人の学習にも役立ちます。
しかし、いざGitを使い始めると「自分の環境ではどんな設定になっているのか」「プロジェクト固有の設定をどこで管理しているのか」など、少し混乱するかもしれません。 そんなときに使えるのがgit configコマンドです。
このコマンドを活用すると、自分のGit環境で設定されているユーザー名やメールアドレス、エディター、改行コードの扱いなどを手軽に確認できます。 ここでは、具体的な使用例や実務で役立つヒントを交えながら、初心者の皆さんでもわかりやすいように丁寧にご紹介していきます。
この記事を読むとわかること
- git configコマンドを使って設定を確認する方法
- ローカル・グローバル・システムの各スコープの概要と使い分け
- 実務でよく使う設定項目とその設定・確認方法
- どんな場面で各設定が役立つか
git configとは何か
Gitにはさまざまな設定項目があります。 たとえば、自分の名前やメールアドレスを登録することでコミット履歴に正しい情報を残すことができますし、テキストエディターを指定してコミットメッセージ編集時に使うエディターを切り替えることもできます。
これらの設定をまとめて管理できる仕組みがgit configです。 設定の適用範囲は大きく分けて3つあり、次のように使い分けが可能です。
- ローカル: プロジェクト(リポジトリ)単位の設定
- グローバル: ユーザー単位の設定
- システム: システム全体の設定
実務においては、複数のプロジェクトを担当していても、基本的にユーザー名やメールアドレスなどは共通の場合が多いでしょう。 そのため、グローバルで指定することが一般的です。 一方で、特定のリポジトリでだけ特殊な設定を使いたいときはローカルを使うことがあります。
git config 確認に使う代表的なコマンド
git configコマンドを使えば、設定項目の確認を簡単に行うことができます。 ここでは代表的な使い方をいくつか紹介しますので、実際にターミナルやコマンドプロンプトで試してみると理解が深まりやすいでしょう。
git config --list
現在有効な設定を一覧表示します。 グローバルとローカルの両方を含め、最終的に反映されている設定がずらりと表示されます。 次の例のように実行すると、キーと値がペアで出力されます。
git config --list
このコマンドで「自分がどこかで意図しない設定をしていないか」をまとめて確認できます。 何か想定外の振る舞いが起きるときにも役立ちます。
git config キー名
特定の設定値をピンポイントで表示するときには、キー名を指定します。 たとえば、ユーザー名を確認するなら以下のように入力します。
git config user.name
値が設定されていれば、そのユーザー名が表示されます。
同様にメールアドレスを確認する場合には、git config user.email
と入力します。
git config --show-origin --list
設定がどのファイルに由来するのかを把握したいときに便利なオプションです。 グローバル設定やローカル設定が複数箇所でかぶっていないかなどを確認するときに有効です。
git config --show-origin --list
表示結果には、設定ファイルのパスと設定内容が一緒に出力されます。 複数のスコープで同じ項目を設定している場合は、最終的にどれが優先されているかを理解しやすくなります。
ローカル・グローバル・システムのスコープとは
Gitの設定はスコープごとにファイルが分かれています。 具体的には、次の3つのスコープが存在し、どのファイルを参照しているかが異なります。
ローカルスコープ
特定のリポジトリ内だけで有効になります。
.git/config
という隠しディレクトリ(Gitリポジトリ)内部の設定ファイルが参照されます。
あるプロジェクトでのみ別のメールアドレスを使いたい、タブ幅を違う設定にしたいなど、限定的な設定を行うときに便利です。
グローバルスコープ
ユーザー単位での設定です。
通常はユーザーディレクトリにある ~/.gitconfig
などを参照します。
自分のユーザー名やメールアドレスを登録することで、どのリポジトリでも統一された情報を使えます。
初期設定としては、グローバルにユーザー名やメールアドレスを設定しておくことが多いです。
システムスコープ
システム全体に及ぶ設定です。 これは特別な理由がない限り、初心者が直接編集することはあまりありません。 ただし、企業やチームのポリシーで特定の設定を全マシンに適用する場合などには利用されることがあります。
このように、Gitには複数の設定ファイルが存在するため、どこに書かれた設定が最終的に使われているのか把握することが大切です。 予期しない動作が起こったときは、まずgit config 確認コマンドを使って設定がどうなっているか確認しましょう。
実務でよく使われる設定例
ここでは、実際の開発現場でよく使われる設定項目をいくつか取り上げてみます。 初心者の皆さんは、まずはこれらの設定を把握しておくとスムーズにGitを使い始められるでしょう。
ユーザー名とメールアドレス
コミットログには誰が変更を行ったかを表すため、ユーザー名とメールアドレスが必ず入ります。 自分のグローバル設定を確認したいときは、次のように実行します。
git config --global user.name git config --global user.email
設定がなければ git config --global user.name "Your Name"
のようにして追加しましょう。
もしプロジェクトごとに異なるメールアドレスを使いたい場合は、オプションを --local
に切り替えてリポジトリ内で設定を行うと便利です。
エディターの設定
コミットメッセージを記入するときに使うテキストエディターを変更したい場合があります。 もしVSCodeを使いたい場合は、次のように設定できます。
git config --global core.editor "code --wait"
これでコミットメッセージを編集するときにVSCodeが開きます。 お好みでVimやNanoなど、使いやすいエディターを設定すると作業効率が上がります。
改行コード (core.autocrlf)
WindowsとUnix系OSでは改行コードが異なります。 プロジェクトで改行コードを統一したいときは、この設定を利用します。 設定例を挙げると次のようになります。
git config --global core.autocrlf true
これによって、コミットするときに自動で改行コードを統一してくれます。 プロジェクト内で改行コードの混在を避けたい場合に役立ちます。
マージ時のデフォルト戦略 (merge.toolなど)
マージツールを指定するときにもgit configを使えます。 ただし、初心者のうちは特定のGUIツールやコマンドラインツールを選ぶ際に設定する程度で十分です。 以下のように記述すると、マージコンフリクトが発生したときに特定のツールを自動的に起動できます。
git config --global merge.tool "kdiff3"
詳細な設定や追加のオプションが必要なときは、上級者になってからカスタマイズしても問題ありません。
実務での活用シーン
git configコマンドは、単に設定を変更するときだけでなく、トラブルシューティングの際にも大いに活躍します。 ここでは、いくつかのよくあるシーンを例に挙げてみます。
特定のリポジトリだけで別のメールアドレスを使う
プライベートなリポジトリと仕事用のリポジトリを分けている場合、コミット履歴に異なるメールアドレスを使いたいことがあります。 そのようなときは、リポジトリごとにローカルスコープの設定を行うことで管理が楽になります。
# プロジェクトディレクトリに移動した上で git config --local user.email "work@example.com"
このようにしておくと、他のリポジトリには影響を与えず、仕事用の履歴だけ別のメールアドレスでコミット履歴を残すことができます。
意図しない改行コード混在を防ぐ
チームメンバーにWindowsユーザーとMacユーザーが混在していると、改行コードのトラブルが起こりがちです。 core.autocrlfを設定しておくと、リポジトリに関しては自動で改行コードを統一してくれます。 後から気付いて修正する手間を省くためにも、早い段階で設定しておくと安心です。
コミットメッセージを編集するときのエディター
エディターが使い慣れないものだと、コミットメッセージを書くのに余計な時間がかかってしまいます。 ターミナル上でコミットする場合でも、自分が普段使っているエディターを指定しておけば操作性がぐっと上がります。 実務では短いコミットメッセージだけでなく、開発履歴をわかりやすく残すためにある程度詳しい説明を書くこともあるため、快適なエディター選択は意外と重要です。
git configコマンドの確認手順まとめ
ここまでの内容を踏まえて、実際にGitの設定を確認してみたい場合の手順をまとめておきましょう。 まずは自分の環境全体を把握するために、以下のコマンドを一通り試してみるとよいでしょう。
1. git config --list
全体の設定を一覧で確認し、何が設定されているか把握する
2. git config user.name / git config user.email
ユーザー名やメールアドレスが正しく設定されているかチェックする
3. git config --show-origin --list
設定がどのスコープのファイルから読み込まれているかを確認する 4. 必要に応じて --local / --global / --system オプションを使って再確認する
上記の手順を行うことで、どのスコープの設定が反映されているのか理解しやすくなります。 もし疑問点があれば、キーを指定して直接その値を確認するのも有効です。
トラブルに遭遇したときのポイント
設定を誤って上書きしてしまった場合でも、Gitのリポジトリ内部にある.git/config
をテキストエディターで確認すれば、原因特定につながります。
誤った設定を変更してしまい、コミット時に名前が意図しない形で記録されたり、エディターが起動しなかったりするケースがあるかもしれません。
そのようなときは、まずはgit config --list
やgit config --show-origin --list
を実行して、どこにその設定が書かれているかを見つけてみてください。
誤りを見つけたらコマンドで再度設定するか、直接設定ファイルを開いて修正することで解決に近づきます。
まとめ
ここまで、git config 確認をテーマに、Gitの設定をどのように確認し、どのように扱えばよいかを解説してきました。 ポイントを振り返ると、以下のようになります。
- Gitにはローカル・グローバル・システムの3つの設定スコープがある
git config --list
で設定を一覧表示でき、疑問点がある場合はキーを指定して個別に確認可能- 実務で役立つ設定項目としては、user.nameやuser.email、core.editor、core.autocrlfなどがある
- 設定が競合する場合は、最終的にどれが優先されているかを把握するために
--show-origin
を活用する - 設定はトラブルシューティングの観点でも重要で、問題発生時にはconfigの内容をまず確認してみるとよい
Gitは一度環境をしっかり設定しておけば、開発をスムーズに進められる便利なツールです。 ただし、実際のプロジェクト運用中に何かトラブルが起きると、設定が原因であることもしばしばあります。 そういった場面でも、git configコマンドを知っていれば自分の環境を的確に調査できます。
初心者の皆さんは、まずはグローバル設定でユーザー名とメールアドレスを登録し、git config --list
で反映された内容を確認してみてください。
その上で、必要に応じてローカル設定やツールの設定を行えば、より快適な開発環境が手に入るはずです。
ぜひ日々の作業の中で習慣的にconfigを見直し、自分に合った設定を整えてみてください。