「仕事用 GitHub アカウント」と「自学自習用 GitHub アカウント」を同じPCで使い分ける方法を、初心者向けに分かりやすくまとめました。
「仕事用アカウントでは問題無いのに、自学用で push するとエラーになる…」
そんな悩みを解決します!
なぜ2つのアカウントを使い分ける必要がある?
仕事用アカウント
- 会社のリポジトリにアクセス
- 業務プロジェクトにコミット
自学用アカウント
- 個人学習・ポートフォリオ用
- 自分の GitHub に成果を残したい
同じPCで作業する場合、Git のユーザー情報やSSH鍵が競合してしまい、push 時に「どちらのアカウント?」と混乱してしまうことがあります。

解決策の全体像
GitHub アカウントを共存させるには、次の3ステップを行います。
- アカウントごとに SSH キーを発行する
- SSH 設定ファイル(config)で “アカウント別の接続先” を定義する
- リポジトリごとに Git のユーザー設定をローカル設定する
Step1:アカウントごとに SSH キーを作成
まずは、アカウント別に SSH キーを生成します。
1. 仕事用アカウントの SSH キー(例:work)
ssh-keygen -t ed25519 -f ~/.ssh/id_work_github -C "仕事用メールアドレス"
2. 自学用アカウントの SSH キー(例:personal)
ssh-keygen -t ed25519 -f ~/.ssh/id_personal_github -C "自学用メールアドレス"
生成されるファイル例:
~/.ssh/id_work_github(秘密鍵)~/.ssh/id_work_github.pub(公開鍵)~/.ssh/id_personal_github~/.ssh/id_personal_github.pub
公開鍵をGitHubに登録する
Github → Settings → SSH and GPG keys → New SSH key
それぞれのアカウントに対応する鍵を登録します。
Step2:SSH の設定ファイル(config)を作る
アカウントをどの鍵で接続するかを Git が判断できるようにします。
~/.ssh/config を編集
エディタでconfigファイルを開きます。
nano ~/.ssh/config
以下を追加:
# 仕事用 GitHub
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_work_github
# 自学用 GitHub
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_personal_github
使い方
- 仕事用リポジトリ:
git@github.com-work:企業アカウント名/リポジトリ名.git - 自学用リポジトリ:
git@github.com-personal:自分のアカウント名/リポジトリ名.git

Step3:リポジトリごとに Git のユーザー設定を切り替える
グローバル設定(全体設定)は仕事用アカウントのままでOK。
代わりに、学習リポジトリだけローカル設定を上書きします。
▼(例)自学用リポジトリで設定
git config user.name "あなたの自学用ユーザ名"
git config user.email "自学用メールアドレス"
設定できているか確認:
git config user.name
git config user.email
▼仕事用リポジトリではグローバル設定が使われる
git config --global user.name
git config --global user.email
使い方の実例(初心者向け)
自学用で新しいリポジトリを clone する場合
git clone git@github.com-personal:myname/portfolio.git
cd portfolio
git config user.name "myname"
git config user.email "myname@example.com"
仕事用の場合
git clone git@github.com-work:company/repo.git
設定はグローバル値が使われるので、そのままでOK。
ありがちなエラーと対処法(初心者がつまずくポイント)
❌ エラー例1:Permission denied (publickey)
原因:SSH 鍵が登録されていない or config の Host が一致していない
対処:config の Host 名をリモートURLが使用しているか確認
❌ エラー例2:誤って仕事用アカウントでコミットしてしまう
→ コミットの author は書き換え可能
git commit --amend --author="myname <myname@example.com>"
❌ push 時に「アクセス権がない」エラー
→ 自学用リポジトリなのに“work”の SSH 鍵を使っている
Remote URL を確認:
git remote -v
正しいものに変更:
git remote set-url origin git@github.com-personal:myname/portfolio.git
まとめ:2つのGitHubアカウントは共存できる!
同じ PC でも以下の設定を行えば、
仕事用 と 自学用 の GitHub を完全に使い分けられます。
- アカウントごとに SSH キーを作る
~/.ssh/configで Host 別に定義- リポジトリごとに Git のユーザー設定を変更
設定してしまえば、あとは各プロジェクトを
「自学用 or 仕事用」どちらとして扱うか意識するだけでOKです。
ポートフォリオ制作や転職活動にも役立つので、
ぜひこの機会に環境を整えてみてください!


