• Home
  • 一台のPCで複数のGitHubアカウントを管理する方法

一台のPCで複数のGitHubアカウントを管理する方法

記事のサムネイル

今回は 1 つのパソコンで、Git の複数アカウントに接続する方法についての記事です。

この記事は「すでに GitHub アカウントを PC に登録している状態で、新たに 2 つ目の GitHub アカウントを追加したい」という場合の解説となります。

手順

手順としては以下のようになります。

  1. 秘密鍵・公開鍵の生成
  2. config ファイルへ設定の記載
  3. GitHub との接続を確認

1.秘密鍵・公開鍵の生成

まずは新しく登録するアカウント用の秘密鍵・公開鍵の生成を行います。

以下コマンドで.ssh ディレクトリに移動したのちに

cd ~/.ssh

秘密鍵・公開鍵を以下のコマンドで生成します。

ssh-keygen -t ed25519

ssh-keygen -t ed25519を実行したのちに 3 つの質問に答えて秘密鍵・公開鍵の作成をするのですが、一つ目の質問で聞かれる鍵の名前は絶対に既存の鍵名と被らないようにしてください。

sub_account_key等適当な名前をつけましょう。

パスフレーズはこだわりがなければ特に入力する必要はありません。

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/username/.ssh/id_ed25519): sub_account_key
Enter passphrase (empty for no passphrase): #パスワード
Enter same passphrase again: #パスワードの確認

秘密鍵・公開鍵が作成されているか.sshの中を確認しましょう。

ls

config id_ed25519 id_ed25519.pub sub_account_key sub_account_key.pub

最後に GitHub に今作成した公開鍵(sub_account_key.pub)を登録しておきましょう。

2.config ファイルへ設定の記載

.ssh ディレクトリに存在する config ファイルに設定を記述していきます。

無い場合は以下のコマンドで作成を行なってください。

touch ~/.ssh/config

config ファイルを VScode や Vim 等で開き、設定を書いていきます。

Host github.com.sub # 追加したアカウント用(任意)
  HostName github.com #GitHubなら変更しなくてよい
  User git
  Port 22
  IdentityFile ~/.ssh/sub_account_key # 追加したアカウント用の鍵
  TCPKeepAlive yes
  IdentitiesOnly yes

記述し終わったら VScode であればcommand + s、Vim であれば:wqで保存を行なってください。

3.GitHub との接続を確認

それぞれのアカウントと通信ができているか確認をしましょう。

#既存カウントの接続を確認する
% ssh -T github.com
Hi [既存カウントのユーザー名]! You've successfully authenticated, but GitHub does not provide shell access.

#追加したカウントの接続を確認する
% ssh -T github.com.sub
Hi [追加したアカウントのユーザー名]! You've successfully authenticated, but GitHub does not provide shell access.

上記のような感じで接続がうまくいっていれば大丈夫です。

それぞれのアカウントでクローンする方法

それぞれのアカウントでクローンする時は以下のようになります。

git clone git@github.com:<アカウント名>/<リポジトリ名>.git #既存アカウント

git clone git@github.com.sub:<アカウント名>/<リポジトリ名>.git #追加したアカウント

分かりやすくすると

git clone git@<configで設定したHost>:<アカウント名>/<リポジトリ名>.git

となります。

以上が Git の複数アカウントに接続する方法になります。

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

ご相談はこちら
(Twitterのプロフィールへ飛びます)

OTHER ARTICLES

  • Web制作

  • Rails

railsでjsではなくrubyでtooltipの単位を設定するときの話

2024/08/20
  • Web制作

  • Rails

Railsにおけるクラスメソッドとインスタンスメソッドの違いについて

2024/05/30
  • Web制作

  • Docker

  • Rails

DockerでRails7 + PostgreSQL + esbuildの環境を構築する方法

2024/05/16
  • Web制作

  • Rails

  • Docker

Dockerで建てたrails7環境で「undefined method `devise' for 〜」が発生した話

2024/05/16
  • Web制作

  • Rails

Ruby on RailsのルーティングとRESTfulルート

2024/05/09
  • Web制作

  • Rails

Ruby on Railsにおけるresourceとresourcesの違い

2024/05/01
管理者のイメージ画像

PROFILE

Youta

山口県出身の現役のWebエンジニアです。仕事を通して学んだことや、生活していく中で学んだことを発信していきます。

CATEGORY