Git
GitHub
SourceTree

windows版 SourceTreeでsshを利用してGitHubにpushとかpullとかする方法

More than 1 year has passed since last update.

前提

  • GitHubのアカウントおよびリポジトリを持っている
  • そのアカウントに公開鍵を追加できる(google検索結果)

SourceTree上からGUIでキーペアを作成する

  • SourceTreeで、tools > create or import ssh keys をクリック
  • 下の方にある Parameters をみて、 SSH-2 RSA 1024 であることを確認する
  • generate をクリック。その後マウスを適当に動かしてプログレスバーを最後まで進める
  • 右側の Save private key を押して作成された秘密鍵を保存する
  • 左側の Save public key押さずにPublic key for pasting in to OpenSSH authorized_keys file:の下のwindowに書かれている公開鍵の情報をコピる (ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAA... こんなやつ)
  • githubのアカウントにその公開鍵を登録する

GitHubからリポジトリをクローン

SourceTree上で、GitHubのリポジトリをクローンする

  • SouceTreeで、Clone / Newボタンをクリック
  • Source Path / URL にRead+Write accessができるパスを入力する。git@github.com:hoge/fuga.gitみたいなやつ。(githubのリポジトリのクローンURLを選ぶ部分でsshを選ぶとでてくる)
  • パス入力後、Cloneボタンを押すと、Launch SSH Agent?ときかれるので、Yes
  • 秘密鍵の場所を聞かれるので、Save private keyで保存した秘密鍵を選択する
  • Click Retry When Ready ときかれるので、Retry
  • GitHub上のリポジトリがクローンされる

これでOK!


下記、複数のキーを利用したアクセスの方法について大幅に修正しました。以前の方法ではうまくうごかないことがわかりました。すいません>< 2013/4/2

現在、微妙な解決しかできていない問題について

異なる秘密鍵を利用したい場合の方法

pageantのview keysで一番上にあるキーがSourceTreeによって利用されるので、Remove Key,Add keyを利用して、利用したい秘密鍵が一番上に来るように毎回調整してから、pushやpullなどを実行する

非常に面倒ですが、多分SourceTreeのバージョンが上がれば対応してくれるだろうと思われることなので、僕はしばらく一つの秘密鍵だけで生きていこうと思います。