同一端末ので複数のgithubアカウントを使いたい。そんな時の設定です。
目次
- メインGithubアカウント作成
- メインssh設定
- サブGithubアカウント作成
- サブssh設定
1. メインGithubアカウント作成
アカウントを作成してください。
2. メインssh設定
###2-1. 公開鍵・秘密鍵の作成
公開鍵はGithubに送信し、秘密鍵は自分のPCの中に入れておきます。
※こちらの記事を参考にしました。
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
$cd ~/.ssh
初めて作るときは何もないはず。
$ssh-keygen -t rsa
メインの方は、スタンダードに id_rsaとid_rsa.pubの2つの鍵が生成されます。
###2-2. 公開鍵をGitHubにアップする
これも記事を参照してください。
titleには、わかりやすい名前、例えばMacBook-1などを入れておくと良いでしょう。
###2-3. 接続テスト
接続できているか確認と、試しにpushまでをお願いします。
3. サブGitHubアカウント作成
アカウントを作成してください。
4. サブssh設定
###4-1. 公開鍵・秘密鍵の作成
※こちらの記事を参考にしました。
1台のPCで複数のGitHubアカウントを使う(SSHとhttps)
$cd ~/.ssh
$ssh-keygen -t rsa -f id_rsa_sub
サブの方は、 id_rsa_subとid_rsa_sub.pubの2つの鍵が生成されます。
###4-2. 公開鍵をGitHubにアップする
2-2と同様です。
###4-3. ssh/configの修正
このコンフィグファイルを修正することで、ホストごとに秘密鍵を使い分けれられるようにできます。
# 仕事用
Host github
User git
Port 22
HostName github.com
IdentityFile ~/.ssh/id_rsa # メイン秘密鍵のパス設定
TCPKeepAlive yes
IdentitiesOnly yes
# プライベート
Host github-sub #github.com以外で自分がわかりやすい名前のHost
User git
HostName github.com
IdentityFile ~/.ssh/id_rsa_sub # サブ秘密鍵のパス設定
TCPKeepAlive yes
IdentitiesOnly yes
#5. リポジトリごとに分ける方法
サブアカウントに変えたいリポジトリで以下の設定をおこないます。
$ cd hogehoge
$ git config user.name [サブアカウントのユーザー名]
$ git config user.email [サブアカウントのメールアドレス]
すると、hohoge/.git/configが自動生成されます。
本来ならば~/.git/configの設定が適用されるところが、リポジトリに設定された.git/configが適用されるのです。