Git を macOS に最適導入:Homebrew・初期設定テンプレ・credential 管理まで

macOS で Git を使い始めるとき、「とりあえずインストールすればいい」と思っていませんか?しかし実際には、インストール方法の選択、初期設定の最適化、認証情報の安全な管理など、快適な開発環境を構築するためには押さえておくべきポイントがあります。本記事では、macOS における Git の最適な導入方法から、実務で必要となる設定テンプレート、credential 管理まで、一貫した流れで解説します。
背景
macOS における Git のインストール選択肢
macOS で Git を使う場合、主に以下の 3 つの方法があります。
# | 方法 | 特徴 | 推奨度 |
---|---|---|---|
1 | Xcode Command Line Tools | macOS 標準、自動インストール | ★★☆☆☆ |
2 | Homebrew | バージョン管理が容易、最新版を利用可能 | ★★★★★ |
3 | 公式インストーラ | 手動ダウンロード、バージョン固定 | ★★☆☆☆ |
macOS には Xcode Command Line Tools として Git が同梱されていますが、バージョンが古いことが多く、更新も macOS のアップデートに依存します。一方、Homebrew を利用すれば、最新の Git を簡単にインストールでき、バージョン管理も brew upgrade git
で完結します。
Git の初期設定が重要な理由
Git をインストールしただけでは、コミット時にエラーが発生したり、認証に失敗したりすることがあります。これは以下の設定が不足しているためです。
- ユーザー情報: コミット時に記録される名前とメールアドレス
- デフォルトブランチ名:
master
からmain
への変更対応 - 改行コード: Windows との協業時のトラブル防止
- 認証情報管理: パスワード入力の手間削減とセキュリティ向上
以下の図は、Git インストールから実際の開発作業に至るまでの流れを示しています。
mermaidflowchart TD
install["Git インストール"] --> config["初期設定<br/>(user/email/branch)"]
config --> cred["認証情報設定<br/>(credential helper)"]
cred --> work["実際の開発作業"]
work --> commit["コミット・プッシュ"]
commit --> auth["認証<br/>(自動入力)"]
auth --> remote["リモートリポジトリ"]
初期設定を正しく行うことで、スムーズな開発フローを実現できます。
credential 管理の課題
GitHub などのリモートリポジトリにアクセスする際、毎回パスワードや Personal Access Token を入力するのは非効率です。さらに、トークンを平文で保存するとセキュリティリスクが生じます。macOS には Keychain という安全な認証情報管理機能があり、これを Git と連携させることで、セキュリティを保ちながら認証を自動化できます。
課題
バージョン管理の難しさ
Xcode Command Line Tools の Git は、macOS のバージョンに依存するため、以下の課題があります。
- 最新機能が使えない
- セキュリティパッチの適用が遅れる
- 複数バージョンの切り替えが困難
例えば、Git 2.28 で追加された init.defaultBranch
設定を使いたくても、古いバージョンでは対応していません。
初期設定の複雑さ
Git の初期設定は、公式ドキュメントを見ても項目が多く、何を設定すべきか分かりにくいです。特に以下の点で混乱しがちです。
- グローバル設定とローカル設定の違い
- 必須設定と任意設定の区別
- macOS 固有の設定(改行コード、Keychain など)
mermaidflowchart LR
user["開発者"] --> Q1{"何を設定すべき?"}
Q1 -->|全プロジェクト共通| global["グローバル設定<br/>(~/.gitconfig)"]
Q1 -->|プロジェクト固有| local["ローカル設定<br/>(.git/config)"]
global --> items["必須: user.name, user.email<br/>推奨: core.autocrlf, init.defaultBranch"]
local --> override["グローバル設定を上書き"]
この図のように、設定には階層があり、適切な場所に適切な設定を行う必要があります。
認証情報の安全な管理
GitHub は 2021 年 8 月にパスワード認証を廃止し、Personal Access Token または SSH キーを使う必要があります。しかし、以下の課題があります。
- トークンを毎回入力するのは非効率
- トークンをファイルに保存するとセキュリティリスク
- SSH キーのセットアップは初心者には難しい
macOS の Keychain を活用すれば、トークンを安全に保存し、自動入力できますが、その設定方法が分かりにくいのが現状です。
解決策
Homebrew による Git インストール
Homebrew を使えば、最新の Git を簡単にインストールでき、バージョン管理も容易になります。
Homebrew のインストール確認
まず、Homebrew がインストールされているか確認します。
bashbrew --version
もし「command not found」と表示される場合は、Homebrew をインストールします。
bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Git のインストール
Homebrew で Git をインストールします。
bashbrew install git
インストール後、パスの優先順位を確認します。
bashwhich git
/opt/homebrew/bin/git
または /usr/local/bin/git
と表示されれば、Homebrew 版が使われています。もし /usr/bin/git
と表示される場合は、シェルの設定ファイル(~/.zshrc
など)で PATH を調整します。
bash# ~/.zshrc に追加
export PATH="/opt/homebrew/bin:$PATH"
設定を反映させます。
bashsource ~/.zshrc
バージョン確認
正しくインストールされたか確認します。
bashgit --version
git version 2.43.0
のように、最新バージョンが表示されれば成功です。
初期設定テンプレート
Git の初期設定を最適化するためのテンプレートを提示します。これらの設定は、実務でよく使われる推奨設定です。
ユーザー情報の設定(必須)
コミット時に記録される名前とメールアドレスを設定します。
bashgit config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
これらの情報は GitHub などのリモートリポジトリで公開されるため、適切な情報を設定してください。
デフォルトブランチ名の設定
GitHub などで main
ブランチが標準になったため、Git でもデフォルトブランチ名を main
に設定します。
bashgit config --global init.defaultBranch main
この設定により、git init
で新しいリポジトリを作成した際に、自動的に main
ブランチが作成されます。
改行コードの設定
Windows との協業時に改行コードの違いでトラブルが発生しないよう設定します。
bashgit config --global core.autocrlf input
input
: チェックアウト時は変換せず、コミット時に CRLF を LF に変換- macOS / Linux では
input
を推奨 - Windows では
true
を設定
エディタの設定
Git のコミットメッセージ編集に使うエディタを設定します。
bashgit config --global core.editor "vim"
VS Code を使う場合は以下のように設定します。
bashgit config --global core.editor "code --wait"
--wait
オプションにより、エディタを閉じるまで Git が待機します。
カラー表示の有効化
Git の出力を見やすくするため、カラー表示を有効化します。
bashgit config --global color.ui auto
エイリアスの設定
よく使うコマンドを短縮形で実行できるよう設定します。
bashgit config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.unstage "reset HEAD --"
これにより、git st
で git status
を実行できます。
設定の確認
すべての設定を確認します。
bashgit config --global --list
以下のような出力が表示されます。
textuser.name=Your Name
user.email=your.email@example.com
init.defaultbranch=main
core.autocrlf=input
core.editor=vim
color.ui=auto
alias.st=status
alias.co=checkout
alias.br=branch
alias.ci=commit
alias.unstage=reset HEAD --
credential 管理の最適化
macOS の Keychain を活用して、認証情報を安全に管理します。
macOS の credential helper 設定
Git 2.x 以降では、osxkeychain
helper が標準で含まれています。
bashgit config --global credential.helper osxkeychain
この設定により、Git は認証情報を macOS の Keychain に保存し、次回以降は自動的に取得します。
GitHub Personal Access Token の作成
GitHub で Personal Access Token を作成します。
- GitHub にログイン
- Settings → Developer settings → Personal access tokens → Tokens (classic) にアクセス
- "Generate new token (classic)" をクリック
- Note に用途を記載(例: "Git CLI")
- Expiration でトークンの有効期限を設定
- Select scopes で必要な権限を選択(通常は
repo
にチェック) - "Generate token" をクリック
- 表示されたトークンをコピー(この画面でしか表示されません)
以下の図は、GitHub での認証フローを示しています。
mermaidsequenceDiagram
participant User as 開発者
participant Git as Git CLI
participant Keychain as macOS Keychain
participant GitHub as GitHub
User->>Git: git push
Git->>Keychain: 認証情報を取得
alt 初回 (Keychain に情報なし)
Keychain-->>Git: 情報なし
Git->>User: ユーザー名とパスワードを要求
User->>Git: Personal Access Token を入力
Git->>Keychain: トークンを保存
else 2回目以降
Keychain-->>Git: 保存済みトークンを返却
end
Git->>GitHub: 認証情報を使ってアクセス
GitHub-->>Git: 認証成功
Git-->>User: プッシュ完了
この図のように、初回のみトークンを入力すれば、以降は自動的に Keychain から取得されます。
初回の認証
リポジトリに対して最初の操作を行うと、認証情報の入力を求められます。
bashgit clone https://github.com/username/repository.git
Username には GitHub のユーザー名を、Password には先ほど作成した Personal Access Token を入力します。
Keychain への保存確認
認証情報が Keychain に保存されたか確認します。
- Spotlight で「キーチェーンアクセス」を検索して起動
- 検索欄に「github」と入力
github.com
の項目が表示されれば、正しく保存されています
SSH キーを使う場合
HTTPS の代わりに SSH キーを使うこともできます。
SSH キーを生成します。
bashssh-keygen -t ed25519 -C "your.email@example.com"
Enter キーを押してデフォルトの保存場所 (~/.ssh/id_ed25519
) を使用します。パスフレーズは任意で設定できます。
SSH エージェントを起動し、キーを追加します。
basheval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
公開鍵をクリップボードにコピーします。
bashpbcopy < ~/.ssh/id_ed25519.pub
GitHub の Settings → SSH and GPG keys → New SSH key で、コピーした公開鍵を追加します。
SSH 接続をテストします。
bashssh -T git@github.com
「Hi username! You've successfully authenticated...」と表示されれば成功です。
SSH キーの Keychain 統合
SSH キーのパスフレーズも Keychain に保存できます。
~/.ssh/config
ファイルを作成または編集します。
textHost *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
この設定により、SSH キーのパスフレーズが自動的に Keychain に保存され、次回以降は入力不要になります。
具体例
実際の作業フロー
ここでは、新しいプロジェクトを GitHub で管理する際の具体的な手順を示します。
1. ローカルリポジトリの初期化
プロジェクトディレクトリを作成し、Git リポジトリとして初期化します。
bashmkdir my-project
cd my-project
git init
init.defaultBranch
を設定していれば、自動的に main
ブランチが作成されます。
2. 最初のコミット
README ファイルを作成し、コミットします。
bashecho "# My Project" > README.md
git add README.md
git commit -m "Initial commit"
ユーザー情報を設定していれば、エラーなくコミットできます。
3. GitHub リポジトリの作成
GitHub で新しいリポジトリを作成します(Web UI から実行)。
4. リモートリポジトリの追加
ローカルリポジトリにリモートを追加します。
bashgit remote add origin https://github.com/username/my-project.git
5. プッシュ
リモートリポジトリにプッシュします。
bashgit push -u origin main
初回のみ Personal Access Token の入力を求められます。入力すると Keychain に保存され、以降は自動的に認証されます。
6. 以降の作業
ファイルを編集し、コミット・プッシュします。
bashecho "## Description" >> README.md
git add README.md
git commit -m "Add description section"
git push
2 回目以降は認証情報の入力は不要です。
トラブルシューティング
実際の運用でよく発生する問題と解決方法を示します。
問題 1: xcrun: error: invalid active developer path
エラーコード: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
発生条件: macOS をアップデートした後、Xcode Command Line Tools が無効化される
解決方法:
- Command Line Tools を再インストールします。
bashxcode-select --install
- Homebrew の Git を使用している場合は、パスの優先順位を確認します。
bashwhich git
問題 2: fatal: unable to access 'https://github.com/...': The requested URL returned error: 403
エラーコード: HTTP Error 403: Forbidden
発生条件: 認証情報が間違っている、または Personal Access Token の有効期限が切れている
解決方法:
- Keychain に保存された古い認証情報を削除します。
「キーチェーンアクセス」を開き、github.com
を検索して削除します。
-
新しい Personal Access Token を作成します(前述の手順を参照)。
-
再度 Git 操作を実行し、新しいトークンを入力します。
問題 3: fatal: not a git repository
エラーコード: fatal: not a git repository (or any of the parent directories): .git
発生条件: Git リポジトリ以外のディレクトリで Git コマンドを実行した
解決方法:
- 現在のディレクトリを確認します。
bashpwd
- Git リポジトリがあるディレクトリに移動します。
bashcd /path/to/your/repository
- または、新しいリポジトリを初期化します。
bashgit init
問題 4: コミット時に user.name
または user.email
が設定されていないエラー
エラーメッセージ:
text*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
発生条件: ユーザー情報が設定されていない
解決方法:
エラーメッセージに従って、ユーザー情報を設定します。
bashgit config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
複数アカウントの管理
仕事用と個人用など、複数の GitHub アカウントを使い分ける場合の設定方法を示します。
ディレクトリごとに設定を切り替える
~/.gitconfig
でグローバル設定を行い、特定のディレクトリでは別の設定を適用します。
グローバル設定(~/.gitconfig
):
text[user]
name = Personal Name
email = personal@example.com
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig-work
仕事用設定(~/.gitconfig-work
):
text[user]
name = Work Name
email = work@company.com
この設定により、~/work/
配下のリポジトリでは自動的に仕事用の設定が適用されます。
SSH キーを使い分ける
複数の SSH キーを使い分ける場合は、~/.ssh/config
で設定します。
text# 個人用
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
# 仕事用
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
リモート URL で Host を指定します。
bash# 個人用リポジトリ
git remote add origin git@github.com-personal:username/repo.git
# 仕事用リポジトリ
git remote add origin git@github.com-work:company/repo.git
以下の図は、複数アカウント管理の仕組みを示しています。
mermaidflowchart TD
user["開発者"] --> work["~/work/<br/>仕事用プロジェクト"]
user --> personal["~/personal/<br/>個人プロジェクト"]
work --> workConfig["~/.gitconfig-work<br/>(仕事用設定)"]
personal --> globalConfig["~/.gitconfig<br/>(個人用設定)"]
workConfig --> workGitHub["GitHub<br/>(仕事用アカウント)"]
globalConfig --> personalGitHub["GitHub<br/>(個人用アカウント)"]
ディレクトリ構造に応じて、自動的に適切な設定が適用される仕組みです。
まとめ
本記事では、macOS で Git を最適に導入する方法を解説しました。
Homebrew によるインストールでは、最新の Git を簡単に管理でき、バージョンアップも brew upgrade git
で完結します。Xcode Command Line Tools に依存せず、常に最新機能を利用できる点が大きなメリットです。
初期設定テンプレートでは、ユーザー情報やデフォルトブランチ名、改行コード設定など、実務で必要な設定を網羅しました。これらを設定することで、エラーを回避し、チーム開発でもスムーズに作業できます。
credential 管理では、macOS の Keychain を活用して認証情報を安全に保存し、毎回のパスワード入力から解放されます。Personal Access Token と SSH キーの両方の設定方法を示したので、環境に応じて選択してください。
これらの設定を行うことで、macOS での Git 利用が格段に快適になります。初回のセットアップに少し時間をかけることで、その後の開発効率が大きく向上するでしょう。
関連リンク
- article
Git を macOS に最適導入:Homebrew・初期設定テンプレ・credential 管理まで
- article
Git の部分取得を徹底比較:sparse-checkout/partial clone/shallow の違いと使い分け
- article
Git で「detached HEAD」になった時の安全復帰プレイブック
- article
Git 内部処理の舞台裏:パックファイル・コミットグラフ・参照の関係を図解で理解
- article
git reset の使い分け完全ガイド:soft・mixed・hard の違いを理解する
- article
Git で特定のコミットを打ち消す!git revert の正しい使い方
- article
Apollo キャッシュ操作チートシート:`cache.modify`/`writeQuery`/`readFragment` 早見表
- article
GitHub Actions 条件式チートシート:if/contains/startsWith/always/success/failure
- article
Zod で CSV/TSV インポートを安全に処理:パース → 検証 → 差分レポート
- article
Yarn のインストール完全ガイド:Corepack 有効化からバージョン固定まで
- article
Git を macOS に最適導入:Homebrew・初期設定テンプレ・credential 管理まで
- article
Web Components で作るモーダルダイアログ:フォーカス管理・閉じる動線まで実装
- blog
iPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来