# ⚙️ git config で設定できる主要項目
🧭 はじめに
このページでは、git config で設定できる 代表的かつ実務で重要な項目をカテゴリ別に整理します。
Git の設定項目は非常に多いため、本記事では **「触る可能性があるもの」「意味を理解しておくべきもの」**に絞ります。
目的は以下の 3 点です。
- 見かけた設定項目の意味が分かる
- 何を触ってよくて、何が危険か判断できる
- チーム運用で合意すべきポイントが見える
👤 ユーザー情報関連
🧑 user.name / user.email
コミットの作者情報。
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
コミット履歴の author / committer に記録され、後から変更できません。
📝 エディタ・表示関連
✏️ core.editor
コミットメッセージ編集に使うエディタ。
git config --global core.editor "code --wait"
VS Code や Vim など、慣れたエディタを指定するのが推奨です。
👀 core.pager
git log などの出力に使われるページャ。
git config --global core.pager less
📏 改行・文字コード関連(重要)
🔁 core.autocrlf
改行コード(CRLF / LF)の自動変換。
git config --global core.autocrlf false
| 値 | 意味 |
|---|---|
| true | checkout で CRLF / commit で LF |
| input | checkout はそのまま / commit で LF |
| false | 一切変換しない |
チームで統一しないと差分地獄になります。
📄 core.safecrlf
危険な改行変換を検知。
git config --global core.safecrlf true
true にしておくと事故を未然に防げます。
📦 ステージング・差分関連
📊 diff.tool
diff 表示に使う外部ツール。
git config --global diff.tool vscode
🧩 merge.tool
マージ競合時に使うツール。
git config --global merge.tool vscode
IDE と Git の連携を強化する設定です。
🌿 ブランチ・履歴関連
🔀 pull.rebase
git pull 時の挙動。
git config --global pull.rebase true
| 値 | 挙動 |
|---|---|
| false | merge(デフォルト) |
| true | rebase |
チームで方針を揃えないと履歴が混乱します。
📜 fetch.prune
削除されたリモートブランチを自動で消す。
git config --global fetch.prune true
ローカルブランチが散らからずおすすめです。
🚀 パフォーマンス・利便性
⚡ core.preloadIndex
インデックスの先読み。
git config --global core.preloadIndex true
🧠 gc.auto
自動ガベージコレクションの頻度。
git config --global gc.auto 256
巨大リポジトリでのみ意識する設定です。
🔐 セキュリティ・安全性
🔒 core.protectHFS / core.protectNTFS
ファイル名衝突の防止(macOS / Windows)。
git config --global core.protectNTFS true
異なる OS 混在チームでは有効化推奨。
🧨 receive.denyNonFastForwards(サーバ側)
強制 push 防止。
サーバ設定なので通常のクライアントでは触りません。
🧪 エイリアス(超便利)
⌨️ alias.*
Git コマンドのショートカット。
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.lg "log --oneline --graph"
作業効率が劇的に上がる定番設定です。
🚫 安易に触るべきでない項目
- core.worktree
- index.*
- extensions.*
- object.*
- transfer.*
内部構造に直結するため、理解なしに触るとリポジトリを壊します。
🧠 まとめ
-
git config の項目は カテゴリで理解すると整理しやすい
-
実務で重要なのは
- user / core.autocrlf / pull.rebase / alias
-
危険な項目は 触らない判断も重要
「設定項目を知っている」だけで Git トラブルの大半は回避できます。