ふりぶろぐ
Web Engineer's Blog
GitHub

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

複数アカウントで使いたかったのですが、いろいろ苦労したのでまとめておきます。

概要

Aというリポジトリではアカウント1を使って、Bというリポジトリではアカウント2を使いたいような場面はないでしょうか?

仕事用とプライベート用でアカウントを分ける場合にこのような場面に遭遇すると思います。

実際に使い分けようと思ったときに、gitや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 furiblog_id_rsa.
 Your public key has been saved in furiblog_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に取り込みます。

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

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

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

コミット・プッシュ

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

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

まとめ

SourceTreeで複数アカウントを使う方法をまとめてみました。

リポジトリにごとに使用するアカウントを設定するイメージです。

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

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

ABOUT ME
りーふ
たまにブログを書いてるWebエンジニア。 サーバーサイドメインでインフラとフロントエンドもたまにやります。 Javaが得意。 Play Frameworkが好き。 本業は迷惑をかけない程度に手を抜くスタイル。 意識高い系は苦手。