Git の3段階の Config の置き場所と優先順位 & リポジトリの作成例

プログラムなどのバージョン管理を行える、無料ソースコード管理 (SCM: software configuration management) ソフト Git で、コミットする際などに必要になるユーザ名とメールアドレス設定している3つの段階のファイルと、それらの優先順位について紹介します。
GitHub Desktop 、Git の順番でインストールした後の実際の config ファイルについても紹介します。

git-scm 公式サイトの一部 20250408

※ Git-2.49.0 (64 bit) を使用します。
※ GitHub Desktop Version 3.4.18 (x64) を使用します。

git の config は3段階

git では、コミットで用いるユーザ名やメールアドレスなどの設定をファイルに保存します。

git の config の優先順位は高い方からローカル > グローバル > システムに配置されます。

  1. ローカル
    リポジトリ単位の設定

    config ファイルの場所 → リポジトリフォルダ\.git\config

    例:G:\Dev\SampleRepository\.git\config
    ※リポジトリの作成については、後述する git init コマンドの使用例を参照してください。
  2. グローバル
    ユーザ単位の設定

    config ファイルの場所 → %HOMEPATH%\.gitconfig

    例:C:\Users\ユーザ名\.gitconfig
    ※ %HOMEPATH% 環境変数はユーザのフォルダパスを表します。
  3. システム
    git インストール単位の設定

    config ファイルの場所 → git のインストールフォルダ\etc\gitconfig
    例:C:\Program Files\Git\etc\gitconfig

です。

Gitには、git config と呼ばれるツールが付属します。これで、どのようにGitが見えて機能するかの全ての面を制御できる設定変数を取得し、設定することができます。 これらの変数は三つの異なる場所に格納されうります:

現在使っているリポジトリのGitディレクトリにある config ファイル( .git/config のことです): 特定の単一リポジトリに対する設定値を保持します。

/etc/gitconfig ファイル: システム上の全てのユーザーと全てのリポジトリに対する設定値を保持します。 もし --system オプションを git config に指定すると、明確にこのファイルに読み書きを行ないます。

~/.gitconfig か ~/.config/git/config ファイル: 特定のユーザーに対する設定値を保持します。 --global オプションを指定することで、Gitに、明確にこのファイルに読み書きを行なわせることができます。

Git – 最初のGitの構成

git config コマンドによる登録ユーザ名・メールアドレスの確認

GitHub DesktopGit の順番でインストールした後の、ユーザー名とメールアドレスの設定を、git コマンドで確認します。

git ツールを使うために、コマンドプロンプトを開きます。
※ Windows 10 の場合はデスクトップの左下の検索ボックスに「cmd⏎」と入力すると開きます。

git コマンドプロンプトで登録されているユーザ名とメールアドレスを確認1

git config ツールでは、ユーザ名やメールアドレスの確認や設定ができます。
–local, –global, –system オプションを付けることで、各段階の config を指定できます。

# グローバルの config のユーザ名の確認
git config --global user.name

# システムの config のメールアドレスの確認
git config --system user.email

以下は、コマンドプロンプトで git config ツールを使用した例です。

C:\Users>git config --global user.name
さくらくらうど

C:\Users>git config --global user.email
(GitHub に登録してあるメールアドレス)

C:\Users>git config user.name
さくらくらうど

C:\Users>git config user.email
(GitHub に登録してあるメールアドレス)

C:\Users>git config --system user.name

C:\Users>git config --system user.email

C:\Users>git config --local user.name
fatal: --local can only be used inside a git repository

C:\Users>git config --local user.email
fatal: --local can only be used inside a git repository

また、 git confg –list コマンドによって、すべての設定を確認できます。

その時点でGitが見つけられる全ての設定を一覧するコマンドである git config --list を使う事ができます

Git – 最初のGitの構成

グローバル・システムの config ファイルの確認

前章の git config ツールの結果をふまえつつ、実際の各段階の config ファイルの中身を確認してみましょう。

グローバルの config ファイルには、GitHub Desktop のインストールにより設定されたであろう GitHub に登録したユーザ名・メールアドレスが確認できました。
既定のエディターについては、git のインストール時に選択した VS Code が設定されています。

[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
[user]
	name = さくらくらうど
	email = (GitHub に登録してあるメールアドレス)
[core]
	editor = \"D:\\ProgramFiles\\Microsoft VS Code\\bin\\code\" --wait

システムの config ファイルには、ユーザ名・メールアドレスは設定されていませんでした。

[diff "astextplain"]
	textconv = astextplain
[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
[http]
	sslBackend = schannel
[core]
	autocrlf = true
	fscache = true
	symlinks = false
[pull]
	rebase = false
[credential]
	helper = manager
[credential "https://dev.azure.com"]
	useHttpPath = true
[init]
	defaultBranch = master

ローカルの config ファイルについては次の章で紹介します。

git init でリポジトリを作成する例

本章では、ローカルの config を確認するために git ツールを使って、リポジトリを作成します。

git ツールを使うために、コマンドプロンプトを開きます。
※ Windows 10 の場合はデスクトップの左下の検索ボックスに「cmd⏎」と入力すると開きます。

git コマンドプロンプトで登録されているユーザ名とメールアドレスを確認1

リポジトリを作成するには、リポジトリを作成するフォルダまで移動したあと git init コマンドを使用します。

git init コマンドが成功すると「Initialized empty Git repository in フォルダのパス」が表示されます。

git コマンドプロンプトで登録されているユーザ名とメールアドレスを確認3

リポジトリのローカルのユーザ名・メールアドレスを設定するには、先ほど確認で使った git config ツールの最後のパラメータに、設定する値を指定して実行します。

# カレントディレクトリのリポジトリにローカルのユーザ名を設定
git config user.name "ユーザ名"

# カレントディレクトリのリポジトリにローカルのメールアドレスを設定
git config user.email "メールアドレス"

以下は、コマンドプロンプトで、リポジトリを作成して、そのローカルの config のユーザ名・メールアドレス設定した後、各段階での値を確認した結果です。
※おおまかな説明は、前述したコマンドプロンプトのスクリーンショット画像の説明文を参照してください。

C:\Users>cd /d G:\Dev

G:\Dev>mkdir SampleRepository

G:\Dev>cd SampleRepository

G:\Dev\SampleRepository>git init
Initialized empty Git repository in G:/Dev/SampleRepository/.git/

G:\Dev\SampleRepository>git config user.name "YourName"

G:\Dev\SampleRepository>git config user.email "YourEmail@example.com"

G:\Dev\SampleRepository>git config user.name
YourName

G:\Dev\SampleRepository>git config user.email
YourEmail@example.com

G:\Dev\SampleRepository>git config --global user.name
さくらくらうど

G:\Dev\SampleRepository>git config --local user.name
YourName

G:\Dev\SampleRepository>git config --system user.name

リポジトリのローカルの config ファイルを見ると、設定したユーザ名とメールアドレスなどが保存されていることが確認できました。

Git init で作成したリポジトリのローカルのconfig
[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[user]
	name = YourName
	email = YourEmail@example.com

関連記事

GitHub Desktop アプリの導入については以下の記事を参照して下さい。

Git の導入については以下の記事を参照して下さい。

まとめ

今回は、プログラムなどのバージョン管理を行える、無料ソースコード管理 (SCM: software configuration management) ソフト Git で、コミットする際などに必要になるユーザ名とメールアドレス設定している3つの段階のファイルと、それらの優先順位について紹介しました。
GitHub Desktop 、Git の順番でインストールした後の実際の config ファイルについても紹介しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました