Git の設定と alias
git config を使って環境をセットアップし、alias で日常操作を効率化する方法を演習問題で学びます。
このチュートリアルでは、git config を使った基本的な環境セットアップと、日常操作を効率化する alias の登録方法を演習形式で学びます。最初に一度設定しておくだけで、以降のすべての作業が快適になります。
前提: Git がインストール済みで、基本的なコマンドライン操作ができることを前提とします。
演習 1:user.name / user.email をグローバルに設定する
Git を初めて使うときに必須の設定です。コミットには必ずこの情報が記録されます。
問題: PC全体のデフォルトとして、ユーザー名を Taro Yamada、メールアドレスを taro@example.com に設定するコマンドを書いてください。
答えを見る
git config --global user.name "Taro Yamada"
git config --global user.email "taro@example.com"設定は ~/.gitconfig に保存され、以降作成するすべてのリポジトリのコミットに適用されます。確認は以下のコマンドで行えます。
git config --global user.name
git config --global user.email演習 2:core.editor でデフォルトエディタを変更する
コミットメッセージの編集やインタラクティブリベースの際に開かれるエディタを設定します。
問題: デフォルトエディタを VSCode(code --wait)に設定するコマンドを書いてください。
答えを見る
git config --global core.editor "code --wait"--wait フラグにより、VSCode 側でファイルを閉じるまで Git 側の処理が待機されます。これがないと、エディタが開く前にコミット処理が完了したと Git が判断してしまいます。
他のエディタの例:
# Vim
git config --global core.editor "vim"
# Nano
git config --global core.editor "nano"演習 3:よく使うコマンドを alias に登録する
長いコマンドを毎回打つのは大変です。よく使うコマンドには短い別名を付けられます。
問題: git status を git st で、git checkout を git co で実行できるように alias を登録するコマンドを書いてください。
答えを見る
git config --global alias.st status
git config --global alias.co checkout登録後は短縮形でコマンドを実行できます。
git st
# On branch main
# nothing to commit, working tree clean
git co main
# Switched to branch 'main'引数付きの複雑なコマンドを alias にすることもできます。
git config --global alias.graph "log --oneline --graph --decorate --all"
git config --global alias.last "log -1 HEAD"演習 4:git config —list で設定一覧を確認する
登録した設定が正しく反映されているか確認します。
問題: 現在有効なすべての Git 設定を、どのファイルから読み込まれたかも含めて表示するコマンドを書いてください。
答えを見る
git config --list --show-originfile:/home/taro/.gitconfig user.name=Taro Yamada
file:/home/taro/.gitconfig user.email=taro@example.com
file:/home/taro/.gitconfig alias.st=status
file:/home/taro/.gitconfig alias.co=checkout
file:.git/config core.repositoryformatversion=0--show-origin を付けることで、各設定が --global(~/.gitconfig)由来か --local(.git/config)由来かが判別できます。設定が思った通りに反映されない場合のデバッグに役立ちます。
演習 5:プロジェクトごとにローカル設定を上書きする
会社用のプロジェクトだけ、個人用と異なるメールアドレスを使いたい場合を扱います。
問題: 現在のリポジトリだけ、メールアドレスを taro@company.com に上書きするコマンドを書いてください(グローバル設定はそのまま残す)。
答えを見る
git config --local user.email "taro@company.com"(--local はデフォルトの動作なので git config user.email "taro@company.com" と省略しても同じ結果になります。)
このリポジトリ内でのみ user.email が上書きされ、.git/config に保存されます。他のリポジトリでは引き続きグローバル設定(taro@example.com)が使われます。
# このリポジトリでの設定を確認
git config user.email
# taro@company.com
# 別のリポジトリでは元のまま
cd ~/other-project
git config user.email
# taro@example.com設定ファイルの場所(OSによる違い)
--global オプションで設定した内容は、OS によって以下のパスに保存されます。
| OS | 設定ファイルのパス |
|---|---|
| Linux / macOS | ~/.gitconfig |
| Windows | C:\Users\<ユーザー名>\.gitconfig |
いずれの OS でも git config --global --edit を実行すればエディタで直接開けるため、パスを意識する必要は基本的にありません。
まとめ
個人情報の初期設定 → git config --global user.name / user.email
エディタの設定 → git config --global core.editor
日常操作の効率化 → git config --global alias.<name> <command>
設定の確認 → git config --list --show-origin
プロジェクト固有の上書き → git config --local <key> <value>
--global で普段使いの設定を整え、必要なプロジェクトだけ --local で上書きする、という使い分けを覚えておきましょう。