MacでSorceTreeにてGithubに作成したリモートリポジトリにローカルファイルをアップロード(Push)するまで

#はじめに
SorceTreeでGitHubにローカルリポジトリの更新ファイルをアップロードする手順を以下の通りまとめます。尚、本手順はあらかじめGithubにリポジトリが作成されている状態で始めています。

Githubにリモートリポジトリを作成する方法は以下を参考。
https://qiita.com/sakamotoyuya/items/9490716d3f9b9513d31b


目次
- GitHubに接続する
- クローンする
- クローンしたローカルリポジトリを更新する
- 追加したファイルをコミットする
- ローカルリポジトリをアップロード(Push)する
- 403エラーを解決する

#環境
macOS Mojave(バージョン10.14.1)
Sourcetree(バージョン3.1.1_213)

##GitHubに接続する
- SorceTreeを起動して環境設定をクリック
![1.png](https://qiita-image-store.s3.amazonaws.com/0/377612/cb5d908a-e1df-5f5a-e491-d45359136c49.png)
![スクリーンショット 2019-03-24 7.53.44.png](https://qiita-image-store.s3.amazonaws.com/0/377612/d39a830d-7432-3020-90c2-8a4d132dae69.png)

- アカウントタブで追加をクリック
![スクリーンショット 2019-03-24 7.53.50.png](https://qiita-image-store.s3.amazonaws.com/0/377612/d09009d8-14d7-e965-3135-0752b2ba6a47.png)

- ホストをGitHubにして接続アカウントをクリック
![スクリーンショット 2019-03-24 7.54.00.png](https://qiita-image-store.s3.amazonaws.com/0/377612/f693463c-c78f-8562-f1c3-59dd055ff2cb.png)

- 許可をクリック
![スクリーンショット 2019-03-24 7.54.16.png](https://qiita-image-store.s3.amazonaws.com/0/377612/3a86ffd1-87a9-f0b8-bac8-358924421cee.png)
※初めてだとパスワードを入力する操作となったと思います。

- プロトコルをHTTPSにして保存するをクリック
![スクリーンショット 2019-03-24 7.54.32.png](https://qiita-image-store.s3.amazonaws.com/0/377612/b1fc15db-9294-f373-18d8-aefe67283571.png)

- アカウントが追加されたら接続完了なので×ボタンで閉じる
![スクリーンショット 2019-03-24 7.54.39.png](https://qiita-image-store.s3.amazonaws.com/0/377612/613e8a2b-a752-7520-a36c-e0a10a3b6577.png)

- SorceTreeにGitHub上のすべてのリポジトリが表示される
![スクリーンショット 2019-03-24 7.54.50.png](https://qiita-image-store.s3.amazonaws.com/0/377612/522e83f9-ab77-2517-4238-1cf5ed81ea34.png)

##クローンする
- クローンをクリック
![スクリーンショット 2019-03-24 7.54.50.png](https://qiita-image-store.s3.amazonaws.com/0/377612/522e83f9-ab77-2517-4238-1cf5ed81ea34.png)

- 保存先のパスを指定してクローンをクリック
![スクリーンショット 2019-03-24 8.42.04.png](https://qiita-image-store.s3.amazonaws.com/0/377612/1d26bc9c-a389-9a77-ba97-ad818f8f0cbe.png)

- ローカルにクローンしたリポジトリが追加される
![スクリーンショット 2019-03-24 8.42.46.png](https://qiita-image-store.s3.amazonaws.com/0/377612/0add82d3-7f35-72e3-7422-1e8a26b0daa4.png)

- 指定したフォルダはこんな感じになります。
![スクリーンショット 2019-03-24 8.45.14.png](https://qiita-image-store.s3.amazonaws.com/0/377612/0186316e-d382-f813-845c-86f7bf56c90a.png)

##クローンしたローカルリポジトリを更新する
- ローカルリポジトリ更新前のSourceTreeの状態
![スクリーンショット 2019-03-24 9.27.52.png](https://qiita-image-store.s3.amazonaws.com/0/377612/42a5d135-a623-d6fc-e202-86a5578ace98.png)

- ローカルリポジトリに「file.txt」を作成
![スクリーンショット 2019-03-24 9.28.07.png](https://qiita-image-store.s3.amazonaws.com/0/377612/0b8b9c63-6d02-bc15-b874-ca0ba7401095.png)

- ローカルリポジトリ更新後のSourceTreeの状態
![スクリーンショット 2019-03-24 9.28.11.png](https://qiita-image-store.s3.amazonaws.com/0/377612/830d5380-fb2d-2276-a31a-3d35e545af8e.png)

##追加したファイルをコミットする
- 「file.txt」のチェックボックスにチェック
![スクリーンショット 2019-03-24 9.28.11.png](https://qiita-image-store.s3.amazonaws.com/0/377612/830d5380-fb2d-2276-a31a-3d35e545af8e.png)
※下にあったものが上に行きます。チェック外すと下に戻ります。
 おそらく上はコミット対象で下はコミット対象外ってことかと。

- 左上のコミットをクリック
![スクリーンショット 2019-03-24 9.32.44.png](https://qiita-image-store.s3.amazonaws.com/0/377612/50b98e46-28d9-f905-341e-231377a11503.png)

- コメントに「はじめてのコメント」と記載して右下のコミットをクリック
![スクリーンショット 2019-03-24 9.38.04.png](https://qiita-image-store.s3.amazonaws.com/0/377612/381dcb72-1e6a-4576-86a9-9f54997b635f.png)
※コメントを入れないでコミットするとエラーダイアログが出ます。
![スクリーンショット 2019-03-24 10.41.23.png](https://qiita-image-store.s3.amazonaws.com/0/377612/fa69bb10-5b48-910d-7e70-845b93e681d9.png)
コメント入れずにコミットすると変更来歴がわかりにくくなるんでしょうね。

- コミット後のSourceTreeの状態
![スクリーンショット 2019-03-24 9.38.27.png](https://qiita-image-store.s3.amazonaws.com/0/377612/fe47f7cc-0c6c-cbc6-af99-d588e2f925cb.png)
コミットの①のマークが消えて、プッシュに①がついたのが確認できます。

- ブランチのmasterをクリックするとこんな感じの画面になります。
![スクリーンショット 2019-03-24 9.39.04.png](https://qiita-image-store.s3.amazonaws.com/0/377612/153278b6-7e58-846a-bf9d-0c23af1b6845.png)

##ローカルリポジトリをアップロード(Push)する
- プッシュをクリックする
![スクリーンショット 2019-03-24 9.39.36.png](https://qiita-image-store.s3.amazonaws.com/0/377612/270ed182-9dbb-5b49-e789-35e043aa8648.png)

403エラーがでました。
![スクリーンショット 2019-03-24 9.46.07.png](https://qiita-image-store.s3.amazonaws.com/0/377612/bfbc8876-bba9-9209-d1a0-7d3bcbce5828.png)

##403エラーを解決する
以下を参考に解決しました。
・git pushでpermission deniedされ403エラーになってしまう
https://teratail.com/questions/73843

ようするに接続するURLにパスワードを含める必要があるようです。
SourceTreeではconfigファイルを編集してあげます。

- SourceTreeで設定 > 高度な設定 > Configファイルを編集... をクリック
![スクリーンショット 2019-03-24 10.54.00.png](https://qiita-image-store.s3.amazonaws.com/0/377612/5bad60bf-ce27-67a7-9222-6e24362d23a9.png)


- configファイルのurlを変更しましょう。

```txt:config-変更前
[remote "origin"]
	url = https://sakamotoyuya@github.com/sakamotoyuya/test-Repo.git
	fetch = +refs/heads/*:refs/remotes/origin/*
```

```txt:config-変更後
[remote "origin"]
	url = https://sakamotoyuya:パスワード@github.com/sakamotoyuya/test-Repo.git
	fetch = +refs/heads/*:refs/remotes/origin/*
```

・これをやってもう一回[ローカルリポジトリをアップロード(Push)する](https://qiita.com/sakamotoyuya/items/49c1f3a91f72917b341f#ローカルリポジトリをアップロードpushする)の手順でpushすると成功しました。