【GitHub】SourceTreeで複数アカウントを切り替える!【SSH】

今回はこのような質問をいただきました。

SourceTreeで複数アカウント使えないかな?
仕事用とプライベート用でアカウントを分けている人はSourceTreeでも複数アカウント使えないと困りますよね。
そこで今回はこちらの質問について解説していきます!
SourceTreeで複数アカウントを使おう!
すでに1つのアカウントを登録済みで、新たにもう1つのアカウントを追加する想定です。
今回はプライベート用のアカウントを追加してみます。
鍵の作成はこちらを参考にさせていただきました。
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
公開鍵・秘密鍵の作成
SourceTreeで作成するとうまくできなかったので手動で作成します。
鍵の名前とパスワードを聞かれるので必要であれば入力してください。
どちらも何も入力しなくても生成できます。
$ cd ~/.ssh
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): [必要であればファイル名を指定]
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
公開鍵の登録
公開鍵をGitHub側に登録します。
以下のように公開鍵をコピーできます。
ファイル名は自分の作成したものに合わせて変更してください。
$ pbcopy < ~/.ssh/id_rsa.pub
configの設定
~/.ssh/configに以下のコードを追記します。
ファイル名は自分の作成したものに合わせて変更してください。
Host github-private github.com-private
User git
Port 22
HostName github.com
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
接続の確認
以下のコマンドで接続の確認を行ってください。
新しく追加したアカウントで接続されます。
$ ssh -T github.com-private
Hi XXXXXXXX! You've successfully authenticated, but GitHub does not provide shell access.
リポジトリをクローン
以下のようなコマンドでリポジトリをクローンします。
XXXXXXXは接続したユーザ名、hogeはリポジトリ名になります。
$ git clone git@github.com-private:XXXXXXX/hoge.git
その後、SourceTreeの「新規」→「既存のローカルリポジトリを追加」からSourceTreeに取り込みます。
ユーザ名・メールアドレスの設定
SourceTree画面右上の「設定」→「高度な設定」のユーザー情報に任意の情報を設定します。
その後、SourceTreeを再起動します。
コミット・プッシュ
このような設定を行った後、コミット・プッシュを行うと設定したユーザーの情報になっているはずです。
少し遠回りしているかもしれませんが、私はこの方法でうまくいきました。
あとがき
この方法はリポジトリにごとに使用するアカウントを設定するイメージですね。
今のところはこれでうまくいっているのでこのままいこうと思います。
メインアカウントのほうに影響が出てたらまた考え直します(笑)