Yak shaving logs


My life is just yak shaving.

ローカルでGitHubのアカウントを複数使い分ける

2019/03/10 #開発環境 #github #git #ssh

By Yusuke Takita


こんにちは。Takitaです。

GitHubのアカウントを複数使い分ける必要があったため、
ローカルからGitHubにSSHをする際にGitHubのアカウントを使い分けれるように
設定をしました。

今後もアカウントが増えるかもしれないので手順をメモしておきます。

GitHubに登録する鍵を生成する

秘密鍵(idrsaforhoge)と公開鍵(idrsaforhoge.pub)を生成します。
$ ssh-keygen -t rsa -C hoge@example.com -f id_rsa_for_hoge

鍵を使い分けてGitHubにSSHするために設定ファイルを編集します。
$ vim ~/.ssh/config

# 以下を追加
Host hoge.github.com
  Hostname             github.com
  User                 git
  IdentityFile         ~/.ssh/id_rsa_for_hoge
  IdentitiesOnly       yes

Hostをgithub.comにするのではなく、
hoge.github.comとして読み込む秘密鍵を変えることで、
アカウントの使い分けを実現しています。

公開鍵をGitHubに登録する

SSH keys から公開鍵(idrsafor_hoge.pub)の内容を登録します。

動作確認

$ ssh -T git@hoge.github.com

以下のように表示されればOKです。

Hi hoge! You've successfully authenticated...

もともと使っていたアカウントがデグレしてないかも確認しておきます。

$ ssh -T git@github.com

リポジトリのcloneと設定

$ git clone git@hoge.github.com:hoge/fuga.git

上記でリポジトリをcloneした後、
リポジトリ内のgitの設定を変更しておきます。

※ コマンドはcloneしたリポジトリに移動してから行ってください

$ git config --local user.name 'hoge'
$ git config --local user.email 'hoge@example.com'

おおもとの設定は~/.gitconfigにありますが、
上記のコマンドでリポジトリ内のgitconfigに
設定を追加しました。

$ cat .git/config
[remote "origin"]
        url = git@hoge.github.com:hoge/fuga.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[user]
        name = hoge
        email = hoge@example.com

以上!

このエントリーをはてなブックマークに追加

categories


最新記事


tags