2つのGitHubアカウントを同じ端末で共存させる方法【初心者向け】

開発

「仕事用 GitHub アカウント」と「自学自習用 GitHub アカウント」を同じPCで使い分ける方法を、初心者向けに分かりやすくまとめました。

「仕事用アカウントでは問題無いのに、自学用で push するとエラーになる…」
そんな悩みを解決します!


なぜ2つのアカウントを使い分ける必要がある?

仕事用アカウント

  • 会社のリポジトリにアクセス
  • 業務プロジェクトにコミット

自学用アカウント

  • 個人学習・ポートフォリオ用
  • 自分の GitHub に成果を残したい

同じPCで作業する場合、Git のユーザー情報やSSH鍵が競合してしまい、push 時に「どちらのアカウント?」と混乱してしまうことがあります。


解決策の全体像

GitHub アカウントを共存させるには、次の3ステップを行います。

  1. アカウントごとに SSH キーを発行する
  2. SSH 設定ファイル(config)で “アカウント別の接続先” を定義する
  3. リポジトリごとに 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 を完全に使い分けられます。

  1. アカウントごとに SSH キーを作る
  2. ~/.ssh/config で Host 別に定義
  3. リポジトリごとに Git のユーザー設定を変更

設定してしまえば、あとは各プロジェクトを
「自学用 or 仕事用」どちらとして扱うか意識するだけでOKです。

ポートフォリオ制作や転職活動にも役立つので、
ぜひこの機会に環境を整えてみてください!

バイクアイコン
バイクアイコン