Stage 3・上級編 ー Lesson 3-7

git config の便利技 — alias と必須設定で快適に

alias で長いコマンドを短縮、color/autocrlf/credential.helper で日々の摩擦を減らす

💡 たとえるなら

毎日使う道具を自分の利き手に合わせてチューニングする感覚

ここまでで Git のコマンドはだいたい揃いました。最後に 「明日からこれだけやっとくと便利」 な設定を厳選してお届けします。1回設定すれば一生効くので、ROIは最高クラス。

まず設定の確認方法

# 全設定一覧
$ git config --list
# ある設定だけ見る
$ git config user.name
# どこのファイルから読まれた?
$ git config --list --show-origin

設定ファイルの3階層

スコープフラグファイル
システム全体--system/etc/gitconfig
ユーザー全体--global~/.gitconfig
プロジェクトのみ(なし).git/config

下の方ほど 優先度が高い。ユーザー設定が「自分のデフォルト」、プロジェクト設定が「このリポジトリだけ別ルール」用。

① alias:長いコマンドを短縮

これが一番リターンが大きい。よく打つコマンドを 2〜4文字 にしましょう。

# 単純な置き換え
$ git config --global alias.co checkout
$ git config --global alias.sw switch
$ git config --global alias.br branch
$ git config --global alias.st "status -s"
$ git config --global alias.ci commit
# 強力な log フォーマット
$ git config --global alias.lg "log --oneline --graph --all --decorate"

これだけで git st git lg git sw feature のように打てます。

私の推奨セット

エイリアス展開先説明
git ststatus -s状態をコンパクトに
git lglog --oneline --graph --all --decorate履歴を木で見る
git cocheckout古い手癖向け
git swswitchブランチ切替
git brbranchブランチ一覧
git unstagerestore --stagedadd 取り消し
git lastlog -1 HEAD直前コミットを見る

② color.ui:色付き表示

最近のGitはデフォルトでオンですが、念のため明示:

$ git config --global color.ui auto

status diff log などで赤緑のハイライトが入ります。バグ調査のスピードが段違い。

③ core.autocrlf:改行コード問題の対策

Windows と Mac/Linux のチームで共同開発するときに必須。

# Windowsの人
$ git config --global core.autocrlf true
# Mac/Linuxの人
$ git config --global core.autocrlf input

これがないと「全行差分」みたいな悲劇が起きます。

④ credential.helper:認証を毎回入力しない

HTTPSでpush/pullするたびにユーザー名とパスワードを聞かれるのを止めます。

# Mac の場合(macOSキーチェーンに保存)
$ git config --global credential.helper osxkeychain
# Windows(Git for Windowsに同梱)
$ git config --global credential.helper manager
# Linux(メモリにしばらくキャッシュ)
$ git config --global credential.helper "cache --timeout=3600"

⑤ pull.rebase:pull のときに自動で rebase

これは好みが分かれますが、git pull のたびにマージコミットが量産されるのを嫌うなら:

$ git config --global pull.rebase true

これで git pullgit fetch + git rebase 相当になります。

⑥ init.defaultBranch:新規リポジトリの初期ブランチ名

Stage 1-2 で設定した main 既定。確認のため:

$ git config --global init.defaultBranch main

⑦ core.editor:コミットメッセージのエディタ

git commit で開くエディタ。デフォルトは vi(怖い人もいる)。

# VSCode
$ git config --global core.editor "code --wait"
# nano(シンプル)
$ git config --global core.editor nano

~/.gitconfig を直接編集する

設定が増えてきたら ~/.gitconfig を直接エディタで編集する方が早いです。中身はこんな感じ:

[user]
 name = Taro Tanaka
 email = taro@example.com
[init]
 defaultBranch = main
[core]
 autocrlf = input
 editor = code --wait
[pull]
 rebase = true
[alias]
 st = status -s
 lg = log --oneline --graph --all --decorate
 co = checkout
 sw = switch
 br = branch
 unstage = restore --staged

git管理下のリポジトリで git config --list を打てば、プロジェクト→ユーザー→システム の合算が見られます。

やってみよう:明日から使える alias と便利設定を入れる

3分で「明日から速くなる」設定をまとめてセットしましょう。

# よく使う alias を一気に登録
$ git config --global alias.st "status -s"
$ git config --global alias.lg "log --oneline --graph --all --decorate"
$ git config --global alias.sw switch
$ git config --global alias.br branch
$ git config --global alias.unstage "restore --staged"
# 必須の便利設定
$ git config --global color.ui auto
$ git config --global pull.rebase true
# 試してみる:my_project に移動して新コマンドを叩く
$ cd ~/my_project
$ git st
# git status -s と同じ結果が出る!
$ git lg
# コミット履歴が木グラフで一覧表示
# 設定の確認
$ git config --global --list | grep alias
alias.st=status -s
alias.lg=log --oneline --graph --all --decorate
…(他のaliasも一覧表示)

これからは git st git lg で日々の確認が爆速になります。慣れてきたら ~/.gitconfig を直接編集して自分好みにカスタマイズしていきましょう。

このレッスンのまとめ

できるようになったこと
git config の3階層(system/global/local)を理解した
alias で日々のコマンドを短縮できる
color.ui / core.autocrlf / credential.helper など必須設定を入れられる
~/.gitconfig を直接編集する選択肢を持った

🎉 Stage 3 完走、おつかれさまでした!

🏆 全18レッスン完走!Gitマスター認定 🏆
Stage 1:はじめてのGit(init / commit / push / pull / clone)
Stage 2:日常のGit(branch / merge / conflict / .gitignore / undo)
Stage 3:プロのGit(stash / tag / log深掘り / fetch / rebase / workflow / config)

あとは 実プロジェクトで使い込むだけ。怖いことが起きたら、このサイトに戻って該当レッスンを読み返してください。
Git は道具です。失敗を恐れず、日々の作業を支える土台にしていきましょう 🚀

✏️ 理解度チェック

0 / 3 正解

各問題、選んだ瞬間に正解と解説が表示されます。気軽に試してください。

  1. Q1. git status を `git st` で打てるようにしたい。正しい設定コマンドは?
  2. Q2. Windows と Mac/Linux で改行コード(CRLF/LF)の自動変換を制御する設定は?
  3. Q3. 毎回パスワードを入力したくない。認証情報をキャッシュする設定は?

© 2026 git-ready-easy — プログラミング未経験でもわかる git 入門