読者です 読者をやめる 読者になる 読者になる

しゃちの備忘録

これからC++を始める人によるC++の備忘録です(今のところ)

MacでSourceTreeを使いGithubに接続するまで

タイトルの通り, MacでSourceTreeを使いGithubに接続するまでを備忘録的にまとめておきます. Githubの準備とかは省略します.

それ以外の手順は以下の通り.

  1. SourceTreeを準備する(アカウントを作る&クライアントをインストール)
  2. SSHの準備をする
  3. SourceTreeとGithubSSH接続で接続する

SourceTreeを準備する

SourceTreeとはAtlassianが提供しているGitクライアントソフトです. 一番のメリットはGitでのコマンドをGUIでの操作できる点だと思います.(もちろんコマンドを知っていることでより高度な操作ができたりするので知らなくていいというわけではない)

肝心のSourceTreeですが, 下のサイトからダウンロードできます. ja.atlassian.com

ダウンロードされるzipを展開し, appファイルを起動してあげます. f:id:teru0rc4:20170322180928p:plain ここからAtlassianアカウントを作成したり, 既に持っている場合は登録したりしてあげます. それほど面倒じゃないのでサクサク設定してあげましょう.

アカウントの認証が終わると, BitBucketやGitHubなどのリモートリポジトリとの連携について聞かれます. ここで設定することも、セットアップ完了後に後から設定することも可能になってます. 今回はとりあえず「後から設定」を選んでおきます.(あまり意味はないです…)

SSHの準備をする

上でSourceTreeの準備ができたので, GithubとSourceTreeを繋ぐためのSSHキーを生成します.

Windowsの場合, 標準でSSHを使用することができない関係で, SourceTreeにSSHに関するものがまとめて付属しているのですが, Macではついていません.(SSH接続の際OS側のOpenSShを使用するため) ので, ターミナルを操作してSSHキー生成を行なっていきます.

MacSSH公開鍵認証のキーは, 隠しディレクトリの.sshに格納されます. もし .sshディレクトリが存在しない場, 以降の操作の中で作成されるので特に気にする必要はないようです.

ではsshのキーを生成します. ここで使用するコマンドはssh-keygenになります. これを使用することで, キーの生成や, 管理等々を行うことができます. いろいろ聞かれるので, 元々のメッセージにコメントの形で解説を添えておきました.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.          # -t rsaを指定したので, rsaを作りますよ的なメッセ
Enter file in which to save the key (/Users/teru0rc4/.ssh/id_rsa):          # この名前で鍵をつくるよ的メッセ, enterするとid_rsaという名前が自動的につきます. 何かつける名前がある場合はここで入力してあげてください.
Created directory '/Users/teru0rc4/.ssh'.          # .sshディレクトリがないので作りましたよ, すでにあるなら言われないようです
Enter passphrase (empty for no passphrase):          # パスフレーズ入力
Enter same passphrase again:          # もう一回パスフレーズ

ssh-keygen -t rsaとすることでrsa暗号の鍵を作成することができます. 生成の時のコマンドをssh-keygen -t rsa -C hogeとすることで鍵にコメントをつけることができます.(こんかいはhogeというコメントがつきます, メールアドレスとか用途とかをシンプルにコメントでつけることがあるみたいですね)

ほかにも, 鍵につけたパスフレーズの変更をするオプション(-p)や, 鍵ファイルを変換するオプション(-f)などがあるようですが, ここでの説明は控えておきます.

ともかくこれで, .ssh以下に公開鍵id_rsa.pub秘密鍵id_rsaが生成されていると思います.

最後に, この鍵をsshエージェントに保存します. ssh-addを使うことで, 先ほど作った鍵を登録してあげます.

$ ssh-add ~/.ssh/id_rsa

パスフレーズを入力してIdentity added:~~~のようなことが出ればOKです.(ssh-add -lで確認もできます.)

SourceTreeとGithubSSH接続で接続する

それでは最後に, SourceTreeとGithubとを接続します.

まずは先ほど, 生成した鍵の内容をコピーします.(鍵の名前を変更している場合読み替えてください)

pbcopy < ~/.ssh/id_rsa.pub

これでクリップボードに, 鍵の内容がコピーされたはずです.

次はGithubの設定をします. Githubの自分のページに行きSettingをひらきその中の, SSH and GPG keysを選択, New SSH Keyをクリックし鍵を追加します. Titleはなんでも良いのですが, どのパソコンで使っている鍵かどうかなど自分で区別できる名前を使ってあげましょう. Keyの部分でクリップボードの内容を全てコピーしてやり, Add SSH keyで登録完了です. f:id:teru0rc4:20170324211150p:plain

最後に, SourceTreeで自分のGithubリポジトリを操作できるように登録してあげます. Github上でCloneしたいリポジトリを開き, Clone or downloadをクリックします. 展開されたウィンドウのクリップボード?のようなアイコンをクリックすると, クリップボードに内容がコピーされます. Github側の準備はこれで終わりです. f:id:teru0rc4:20170324213608p:plain

SourceTree側の設定を行います. +新規リポジトリ->URLからクローンを選択します. f:id:teru0rc4:20170324213637p:plain

ソースURL部分に先ほどコピーしたGithubのURLをコピーし, パスの部分に自分のPCの保存したいディレクトリパスを入力してクローンを押します.

そうするとクローンが完了し, SourceTree上からGithubを操作できるようになります. お疲れ様でした. f:id:teru0rc4:20170325001644p:plain