同じPCで複数のgithubのアカウントを使う
会社と個人でGithubのアカウントの2つがあるなど、複数Githubアカウントを持っている人は少なくないはず、そんなときに同一マシンでアカウントを使い分ける方法
前提条件
"tanjoin"は私のアカウント名です適宜変えて下さい
鍵を作成
$ cd ~/.ssh/ $ ls # id_rsa.pub id_rsa # 鍵を作成 $ ssh-keygen -t rsa -C "個人メールアドレス" -f ./tanjoin/id_rsa
だいたいこんな感じで設定
ディレクトリを分けたほうが上書きによるミスの発生を起こしにくくできる
パスフレーズは必要に応じてやってください
SSHの設定
$ open ~/.ssh/config
なければ作成
Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa Host tanjoin User git Port 22 HostName github.com IdentityFile ~/.ssh/tanjoin/id_rsa TCPKeepAlive yes IdentitiesOnly yes
こんな感じに設定すると
# 仕事用 $ git clone git@github.com:tanjoin/AA.git # 個人用 $ git clone git@tanjoin:tanjoin/AA.git
でSSHが使える
だがしかし、会社用のアカウントをグローバルアカウントで設定していたりすると個人のほうに git push したときに会社のアカウントで書き込んでしまうとかいう致命的ミスを起こすことがある
そんなときの解決方法
グローバルアカウントの設定方法
グローバルアカウントの設定方法(~/.gitconfig)
$ git config --global user.name "会社のユーザ名" $ git config --global user.email "会社のメールアドレス"
これは色んな所で見かけたりします。そして次に、
ローカルリポジトリの設定方法([ローカルリポジトリのディレクトリ]/.git/config)
$ cd [ローカルリポジトリのディレクトリ] $ git config user.name "個人のユーザ名" $ git config user.email "個人のメールアドレス"
これで、git push で書き込まれるユーザ情報は設定したローカルリポジトリに限っては個人のアカウントになります
*1:githubでの複数アカウントの使い分けかた — KaoriYa http://www.kaoriya.net/blog/2012/07/13/
*2:【メモ】githubの複数アカウントにSSH接続するための設定手順 | Developers.IO http://dev.classmethod.jp/tool/github-ssh-sub-account-setting/
*3:Windowsはclipコマンド
*4:同じマシンで複数のgithubアカウントを使い分ける - Qiita [キータ] http://qiita.com/strsk/items/96987bfc98e3f92fe6fb