Windows10にSourcetreeをインストールしてGitのチートする

#"はじめに"
チーム開発においてソースをGit管理するのは至極当然の文化だとおもっています。
ただ、コマンドライン上でのGit管理ってどうしても初心者にはとっつきにくいと思うんです。僕もいまだに初心者の域を抜け出せてない分際ですがわかりづらく感じています。

そこで登場するのが「SourceTree」で視覚的にもわかりやすくGit管理ができるツールです。
ただ最初の設定などがすこしわかりづらかったりするので、作業環境をWindowsに絞ってその辺を今日はまとめていきます。

#"導入していくっ！"
今回はプライベートリポジトリをSourceTreeからコミットするまでをやって行きます。
では実際に導入していきましょう

##Bitbucketの登録
さっそくSourceTreeを入れていきたいところなんですが、このSourceTreeはBitbucketというサービスの登録が必須となっています。
なのでまずはBitbucketに登録していきます。

**1.[Bitbucket公式サイト](https://www.atlassian.com/ja/software/bitbucket "タイトル")に行き、画面真ん中の無料で入手するをクリックするとサインアップ画面に遷移します**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/b7eb4511-647e-cbca-d3b5-6120dfce9c9c.png)

**2.サインアップを済ませると、入力したメールアドレスに認証メールが来るので、認証すると認証先でユーザー名を求められるので任意のユーザー名を入力**

**3.どんな目的で使用するのかという質問が5つほどあるので回答するとBitbucketの登録が完了です！**

上記で作成したBitbucketアカウントはSourceTreeで使用するのでもちろん覚えておいてください。ｗ

##SourceTreeのダウンロード
ここからは本題のSourceTreeをダウンロードしていきます。

**1.[SourceTreeの公式サイト](https://www.sourcetreeapp.com/ "タイトル")に行く**


**2.「Windows用にダウンロード」押下すると以下の認証が現れるため、「同意する」にチェックをいれDownloadを押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/759fcefa-26c8-bd72-5fae-f50fba49f924.png)

**3. 2.でセットアップツールがダウンロードされるため起動する。**

**4.少し待つと以下の画面が表示されるため、右側の「Bitbucket」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/7b704af2-4a9d-76da-318e-6e1a783d716c.png)

**5. 4.を行うとブラウザに遷移するので、そこで先ほど登録したBitBucketのアカウントでログインする**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/afc239fb-ec3f-cfaf-5b1b-4139fec2e453.png)

**6.ログインすると以下の画面が現れるため「アクセスを許可する」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/ac767174-19e9-a473-6b29-2f08d312d301.png)

**7.SouceTreeの画面に戻り、表示が以下のようになっていることを確認し、「次へ」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/c78b3db3-b01a-a8c5-382e-7ef6741430ec.png)

**8.GitとMercurialにチェックが入っていることを確認し「次へ」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/445bf8cc-b0b1-d31c-4148-29cabed5da2b.png)

**9.ツールのインストールが完了したら「次へ」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/68e4a04f-dd9d-c97d-070c-21fb07996dc3.png)

**10.その後は何も考えず「次へ」を押下すると、このようなウィンドウが現れる。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/a217a170-7172-2625-aad2-e9d0d03f7303.png)
これは後で設定するので一旦「いいえ」を選択してください。

**11.これでとりあえずSourceTreeのインストール完了！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/5db9aa30-cf32-5f9d-58f5-03398e6c9dbd.png)

##Githubアカウントの追加
ソースをGit管理するのであればGithubアカウントの登録はしてあることと思うので、Githubの登録方法は割愛しました。
ここからご自身のGithubアカウントとSourceTreeを連携していきます。

**1.左側の「アカウントを追加」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/499baeec-d3cf-bd4f-7904-546ffc0af054.png)

**2.以下のようなウィンドウが表示されるため、HOST欄を次のように設定**
・ホスティングサービス：GitHub
・ホストURL：特に変更しない
・優先するプロトコル：HTTPS
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/25cf4a5e-0b8d-24fc-5519-f1cd79fc659f.png)

**3.Credentials欄の「認証」を"OAuth"に設定し「OAuthトークンを再読み込み」を押下するとGithubページが遷移するため自身のアカウントでログインし、その後のページの下部にある「Authorize atlassian」を押下する**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/cf466117-1f34-a5e4-0902-29a9e0f6207e.png)

**4.先ほどのウィンドウに戻って左下が「認証に成功」となっていることを確認し、"OK"を押下する**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/35328ee4-ceae-a6da-92eb-c5730c15c800.png)

**5.最初の画面にGithubアカウントが追加されている！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/4116fef5-60eb-78b0-754c-99c5f7a2e2f6.png)

以上でGithubのアカウントがSourceTreeに連携されました。

##プライベートリポジトリを連携させる
ここからは実際にプライベートリポジトリとSourceTreeを連携していきます。
GitHub と SourceTree の間で通信する際、「SSHキー」で暗号化する必要があるため、まずはそのSSHキーを設定していきます。

###SSHキーを作成する
**1.以下画面の左上メニューバーにある「ツール」を押下し、「SSHキーの作成/インポート」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/e1d386f4-19dc-0f79-d479-cb4196cc52a4.png)

**2.PuTTY Key Generatorが起動するため、以下のように設定し「Generate」を押下する**
【Parameters入力欄】
　Type of key to generate：RSA
　Number of bits in a generated key: 2048

おそらく初期設定で上記のようになっていると思いますが、なっていない場合は変更してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/452a2009-f5c2-47d3-d46a-8e32c7110460.png)

**3.するとバーが表示されます。ウィンドウ上で縦横無尽にマウスを動かすとバーの進捗があがります。（決してふざけているのではなくてマウスのうごきでランダムなキーを生成しているのでしょう）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/b9aee19e-df73-9eee-f36e-930558bc2816.png)

**4.キーが生成さるので、一番上の一番長い文字列の羅列をコピーしてメモか何かに張り付けましょう。こちらは公開鍵とよばれているものです。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/fcc5566d-9d8a-ac72-48c1-cf163241e695.png)

**5.メモに張り付けたら同ウィンドウの「Save private key」を押下し、秘密鍵といわれるものを任意の場所に保存してください。（パスフレーズがないよっていう警告がでますので、設定したい方は設定してください）**

###作成した公開鍵をGithubに登録する
**1.[Githubの設定画面](https://github.com/settings/keys "タイトル")にアクセスし、左上の「New SSH key」を押下する**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/871d37fe-7dcd-f4da-0e14-db04ea494ba5.png)

**2.以下のような入力欄が現れるため以下の説明の通りに入力し、「Add SSH key」を押下してください**
Title: わかりやすい名前（基本的にPutty Key Generatorで作成したキーの「Key comment」と同じ値にすることが多いです）
Key：先ほどメモに張り付けた文字列の羅列をペーストしてください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/6399339a-1c3f-7ad5-5b30-7f50eee847cd.png)

**3.先ほどの画面にキーが追加されたことが確認できると思います！**

###秘密鍵をSourceTreeに登録する
**1.画面左上のツールを押下し、「SSHエージェントを起動」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/712172ac-10d2-5645-b99d-0e2ddfe95662.png)





**2.その後デスクトップ右下の△を押下すると帽子をかぶったパソコンがあるためそれをダブルクリック**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/55c2eba6-34cb-8da0-9f03-baafd8ebe351.png)

**3.ウィンドウが表示されるので「Add key」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/74704076-bab0-f71e-307c-685ca6bec770.png)

**4.ファイル選択画面が表示されるので、先ほど保存した秘密鍵を選択すると、追加されます。その後はCloseを押して終了してOK**

###SourceTreeにリポジトリを登録
いよいよプライベートリポジトリをSourceTreeに登録します。

**1.画面上部のメニューバーから「Clone」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/de622b5b-aa22-23f3-623b-d3786600fc16.png)



**2.先ほどの画面は一旦おいておき、登録したいリポジトリをGithubで開き、黒塗りしている部分に表示されているSSH用のURLをコピーします。**
僕の場合以下のように何もコミットされていないため画面のレイアウトが異なりますが、同じような項目を探してください。
基本的に「git@github.com:"ユーザー名"/"リポジトリ名".git」の形式です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/3f80646a-3f14-ee36-3d53-cb00211b100e.png)


**3.以下の画面が表示されるので、「元のパス/URL」にリポジトリのSSH用のURLを入力**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/c71ef0d0-1eac-d49a-0425-31702ab71432.png)

**4.以下のような表示になったことを確認し、入力欄2つ目プロジェクトまでのパス（基本的に自動入力のままで変更する必要はないです）、3つ目の入力欄にSourceTree上で管理する上での名称を入力し「クローン」を押下する**


**5.以下のような画面になれば連携完了です！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/b9e001f5-d1cc-9c4a-914d-29e6b501de70.png)





ただこのままだとpushやpullの際に毎回秘密鍵を入力することになり面倒なので、その辺も設定していきましょう。

###SSHエージェントの設定
**1.画面上部のメニューバーからツールを選択し、「オプション」を押下**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/4af02882-3df3-3cc0-3c56-cc7c8938397d.png)

**2.全般タブ真ん中の「SSHクライアントの設定」を以下のように入力し、OKを押下**
SSHキー：「...」を押下して保存した秘密鍵のパスを選択
SSHクライアント：PuTTY/Plinkを選択
「SourceTree起動時にSSHエージェントを起動します」に必ずチェックを入れる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363492/6e181a9d-1a88-6cf9-98f2-785c75ac7f9a.png)



以上で終わりです！！お疲れ様でした！

#"まとめ"
矢継ぎ早に紹介してきましたが、やはり秘密鍵・公開鍵のあたりで躓く方もおおいとおもいます。
ただ一度設定してしまえば、視覚的にわかりやすくGit管理ライフを送れるので、ぜひ見ている方も導入してみてください。
少しでもお役に立てればと思います。
では！