初心者向け

【GitHub】SourceTreeで複数アカウントを使おう!

sourcetree-multi-account

こんばんは!光です。

大手グローバル企業でWebエンジニアをやっています。

Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。

経歴や実績はこちら

システム開発のお仕事の依頼もお待ちしております。

お問い合わせページTwitterのDMからお気軽にお問い合わせください!

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

SourceTreeで複数アカウント使えないかな?

仕事用とプライベート用でアカウントを分けている人はSourceTreeでも複数アカウント使えないと困りますよね。

そこで今回はこちらの質問について解説していきます!

SourceTreeで複数アカウントを使おう!

すでに1つのアカウントを登録済みで、新たにもう1つのアカウントを追加する想定です。

今回はプライベート用のアカウントを追加してみます。

鍵の作成はこちらを参考にさせていただきました。

公開鍵・秘密鍵の作成

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.

リポジトリをクローン

以下のようなコマンドでリポジトリをクローンします。

SourceTreeは使用しないでコマンドで行ってください!

XXXXXXXは接続したユーザ名、hogeはリポジトリ名になります。

$ git clone git@github.com-private:XXXXXXX/hoge.git

その後、SourceTreeの「新規」→「既存のローカルリポジトリを追加」からSourceTreeに取り込みます。

github.com-privateとなっているのがポイント!

ユーザ名・メールアドレスの設定

SourceTree画面右上の「設定」→「高度な設定」のユーザー情報に任意の情報を設定します。

その後、SourceTreeを再起動します。

コミット・プッシュ

このような設定を行った後、コミット・プッシュを行うと設定したユーザーの情報になっているはずです。

少し遠回りしているかもしれませんが、私はこの方法でうまくいきました。

あとがき

この方法はリポジトリにごとに使用するアカウントを設定するイメージですね。

今のところはこれでうまくいっているのでこのままいこうと思います。

メインアカウントのほうに影響が出てたらまた考え直します(笑)