VisualStudio2017からSSHでGitHubに接続する方法

#はじめに
タイトル通りです。
sshでのpushはVisualStudioのIDEで可能です。
sshでのcloneはVisualStudioのIDEからできないので、httpsでクローンしてからconfigを修正します。
[cloneできない記事](https://www.infoq.com/jp/news/2017/04/vs2017-git)

#前提
OS:Windows8.1(10でも可)
IDE:Visual Studio 2017 Community
GitHub:Public repository

GIT:git version 2.19.1.windows.1(最新じゃなくても可)
　[インストール方法(2.18.0なので設定項目はちょっと違うかも)](https://qiita.com/manabu-watanabe/items/ecf1b434baf305adaa00)
　GitBashで公開鍵を作成するためにインストールします。
　VisualStudio2017はデフォルトでGitHubとの接続機能があるので、
　httpsで接続する場合は「Git for Windows」は不要のようです。

SSH:GitBashで公開鍵を作成します。ssh機能のインストールは不要です。
　[設定方法(OSは新しくても可)](https://qiita.com/busonx/items/2efc10a18d7a46f14555)

#push手順
##GitHubでリポジトリ作成
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/79d5661d-1b89-7c1e-3a2c-8474e2aa5080.png)

##VisualStudioでリポジトリ作成
ローカルリポジトリを作成してから、リモートの設定を行います。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/36038a51-bb62-79fa-3e01-8b06dd216383.png)

###連携
作成したリポジトリをダブルクリックして、設定ボタンをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/76f3655a-0a93-4f6f-adf3-76ae62010afa.png)

リポジトリの設定をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/a6f6a6af-e62d-81f5-f3d3-f67d88608cb8.png)

リモート 追加をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/e9b7f3f1-604e-b286-cb46-456478d80eb7.png)

名前にorigin フェッチ/プッシュにgithubのsshをコピーし保存をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/9fd56a62-0c5e-32df-e7f4-b1ab8ea932f5.png)

ホームに戻ってGitHubとの連携を確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/06ca5681-078b-cc88-d8bf-c8bf9f937dba.png)

##新規プロジェクト作成
新しいGitリポジトリの作成は外します。（ローカルGitリポジトリ作成をここで行ってもよいです。）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/62302f39-1a38-9368-669d-06982f57c065.png)

###Hello Worldをpush
全てをコミットします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/e30950f5-8cc5-937c-1f5d-357f08648901.png)

passphraseを入力し、プッシュします。
passphrase入力の省略については調査中です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/e275157e-5f50-1d3c-36da-687836f2f3df.png)

##GitHubで確認
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/376f0f87-0f9c-e945-8860-4e47a1beb31c.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/79ca7125-97ab-88e5-9267-6b285a37446e.png)

#clone手順
##GitHub Extension for Visual Studioのインストール
VisualStudio拡張機能をインストールし、GitHubと連携します。
[URL](https://marketplace.visualstudio.com/items?itemName=GitHub.GitHubExtensionforVisualStudio)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/0bf5ebb8-ff19-bf6a-690c-6a1d48fc70df.png)
Downloadをクリックし、ファイルをダブルクリックする。

##clone
チームエクスプローラーにgithubが追加されるので、Connectをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/4e35f318-718e-e003-35dc-2a87226c6e9a.png)

サインインします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/99d5c0d2-8b5a-4e65-f968-97e6f24ab0c6.png)

clone対象を選びます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/bc600819-2e9e-9c6e-9899-332630c366fb.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/b03aa5f2-4dde-7751-e9e0-e443fc4122b1.png)

##configの修正
httpsでクローンされるので、プロトコルをsshに変更します。
.git/configファイルをEditor開き、以下を修正します。

###修正前
```config
[remote "origin"]
	url = https://github.com/hy-since-2001/VS2017Cooperation.git
```
###修正後
```config
[remote "origin"]
	url = git@github.com:hy-since-2001/VS2017Cooperation.git
```


※設定でも変更できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/98dd521d-09ee-6327-fa27-3e39fef753ed.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/f0cfb6cf-51b5-8b24-4d70-73b6211bc6ce.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/148666/52ee74fe-1a94-bf6c-b4f8-9c848554c97f.png)