【入門 GitHub Sourcetree】とりあえず使えるようになりたい人向け　登録～プッシュ まで

# はじめに
GitHub,Sourcetreeの利用について、どこよりも丁寧な説明を心がけます。
分かりやすさを優先し、正確さは捨てているのであくまでイメージの説明が多くなります。

# 手順
1. GitHubへ登録
2. GitHubでリモートリポジトリ作成
3. Sourcetreeで環境構築
4. Sourcetreeでローカルリポジトリ作成
5. GitHubとSourcetreeを連携 
6. GitHubへの送信方法(プッシュ)

# 1. GitHubへ登録
## 1-1.GitHubのサイトへアクセス

https://github.com/

:::note info
「Sign Up」を選択
:::

![msedge_b2DtKCYYxL.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/8f3f67be-38d9-74fc-eb05-d56d8f080728.png)

## 1-2. アカウントを作成
:::note info
`Enter your email*` →　今回のプロジェクトで使用したいメールアドレス
`Create a password*` →　GitHubのログイン時のパスワード
`Enter a username*` →　GitHubでの公開名（他人からも確認できる名前）
:::
usernameは冗談です
![msedge_ZUDmFLees7 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/88db47d2-1658-bc7b-f278-f1761530eb8a.png)

## 1-3. 人間チェック
:::note info
あなたが人間の場合は「検証する」をクリック
:::
![msedge_JZXid5BoNi (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/506932f2-835d-0bda-1295-dee167fa55f9.png)

:::note info
終わったら「送信」をクリック
:::

![msedge_meitkjwHjB.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/18b14afe-9e16-b30f-1e6c-3598e0a96962.png)



## 1-4. 認証コードを確認
:::note info
[1-2]で入力した`Enter your email`へ認証コードが届くので確認
:::
スマホで確認

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/f2a0b3a9-cab0-a858-ef38-47088646d819.jpeg" width=50%>

## 1-5. 認証コード入力
:::note info
[1-4]で届いたコードをそのまま入力します
:::
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/96668e53-65f1-46d0-4a40-e8338e41399a.png" width=80%>

## 1-6. アンケートに回答
:::note info
適当にアンケートに答えてください
回答は今後にほぼ影響ありません
:::
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/4cd483d8-38f1-0cd4-ad9d-29ce3092a4a6.png" width=50%><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/196b1606-6cad-67ae-633d-ea0ea779b691.png" width=50%>

## 1-7. 登録完了
:::note info
これでGitHubの登録完了です
:::
こういう画面になるはずです。
![msedge_pvGyb1WXEr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/9c49b065-8f4d-1d4d-77c1-7455a62ac953.png)

# 2. GitHubでリモートリポジトリ作成
:::note info
### リモートリポジトリとは？
- サイト上のデータ保管場所だよ
- PCのデータが消えても、リモートリポジトリの内容は消えないよ
:::

## 2-1. リモートリポジトリの作成
:::note info
GitHubへログイン後、右上の「＋」マークから、
「New repository」を選択
:::

![msedge_O31vXPHZGt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/c541855b-d129-0f1f-1c28-a898c83b46c7.png)


## 2-2. リポジトリ設定
:::note info
① → 保管庫名やプロジェクト名
② → 
public : 誰でも閲覧可能です
Private : 権限がある人のみ閲覧可能です
③ → 不要なファイルを管理しない設定です
:::
:::note warn
②の設定について
- 学生、転職活動中　→　Public（ポートフォリオ用）
- 実際の業務　→　Private

といったイメージでいいかと思います。
※一応後で変更も可能です
:::


![msedge_usUjhoUhKu (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/d91a21bc-36dd-db62-9892-1993b2487367.png)

:::note info
③に関しては[6-4]で詳しく説明します。
作業環境ごとに設定できるので選択しておきます。
ご自身の環境に合わせて設定してください。
:::
![msedge_hUMwsOQQXZ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/cc29b11f-362a-1eab-383e-dbabbddc011b.png)

:::note info
問題なければ`Create repository`をクリック
:::

 <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/b9b28427-d9a4-ca6d-cf91-7f1406916b3d.png" width=50%>

## 2-3. 作成できました
 <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/2b8a82ba-60d0-4bc8-51a3-7b6cecf28fdc.png" width=80%>


# 3. Sourcetreeをインストール
:::note info
Sourcetree(ソースツリー)とは？
- GitHub,Gitの管理を分かりやすくするツールだよ
- Sourcetreeを使わない場合コマンドラインツールという黒い画面で文字を打つ、アレルギーが出るような作業になってしまうよ
- tree(木)が分かれるようなUIが理解しやすいよ
:::
↓使わないと、このような吐き気のする作業を行う羽目になります
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/435d834c-f2b1-8c80-0fba-2f166474d7b9.png" width=50%>


## 3-1. ソースツリーをダウンロード
https://www.sourcetreeapp.com/

:::note info
公式サイト右上から「Download free」をクリックし、ダウンロード
:::


![スクリーンショット_14-12-2024_223410_www.sourcetreeapp.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/c686b48c-7a23-2415-3b07-b2bbf09c5423.png)

## 3-2.　ダウンロードしたファイルを開く
:::note info
「SourceTreeSetUp.exe」を起動
:::

![explorer_eERSQhSw3e.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/baa84c68-d6f6-08e5-bf95-dad687428bd1.png)


## 3-3. セットアップ
### 3-3-1. BitBucketインストール選択
:::note info
何も選択せずに「スキップ」を選択
:::
:::note warn
`BitBucket`は`Sourcetree`と同じ会社のサービスなので、その販促です。
:::

![SourceTree_prMURD9nq0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/c9658406-9477-fd03-7136-e87f662db974.png)

### 3-3-2. Gitイントール選択
:::note info
「Git」のみ選択
:::

![SourceTree_1DppAPEFe2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/57ae5694-e30d-5d47-c3fc-d0b259bdae1a.png)

:::note info
勝手にダウンロードが始まります
:::

![SourceTree_rlUBYn1J7x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/e37ae5e4-d907-df69-1b55-63b64990fc01.png)

### 3-3-3. アカウント情報入力
:::note info
GitHubで使用したアカウントのメールアドレスを入力
[1-2.アカウントを作成]の`Enter your email*`
:::

![SourceTree_ykIsjuLfOP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/1e6ad75c-3e11-0313-f158-3fae208fef86.png)

### 3-3-4. SSHキー読み込み設定
:::note info
「いいえ」を選択
後から対応します
:::


![5CCpvYmsfx.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/efa88ebe-cb11-7c9f-adb0-2c6b6b74a4c1.png)

:::note info
これでインストール完了です
:::


# 4. Sourcetreeでローカルリポジトリ作成
:::note info
### ローカルリポジトリとは？
- 自分のPCのデータ保管場所だよ
- PCの作業→ローカルリポジトリ→リモートリポジトリ　の順番で変更していくよ
:::

## 4-1. PCにプロジェクト保存用のフォルダを作成
:::note info
どこでもよいのでプロジェクトファイルを入れたいフォルダを作成します
ここではデスクトップに作成しています
:::

![NVIDIA_Share_tnQ2IGHlhE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/6ac60482-840b-3529-e911-f6d326ea25ef.png)

# 4-2. GitHubのリモートリポジトリから、クローン
:::note info
### クローンとは？
- "初めて"サイト上のデータを自分のPCに持ってくる作業のことだよ
- "初めて"リモートリポジトリのデータをローカルリポジトリに反映させること
- "初めて"が肝だよ
- "初めてじゃない"と「プル」という作業になるよ
:::


:::note info
サイト上の保管庫からクローン(保管情報のコピー)してくるといったイメージです。

「Clone」をクリック
:::

![SourceTree_79yYfKaaB2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/ea9bfee2-d7f1-323e-0ab2-d97f1c8ed12c.png)

![SourceTree_iK5QRomDaM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/ba5d3dad-151e-c75c-3c50-97f3c8317502.png)

# 4-3. GitHubのURLを取得
### 4-3-1. GitHubの自分のHomeへアクセス

https://github.com/dashboard

:::note info
画面左側の自分のプロジェクトをクリック
:::

![msedge_v8WzPdE1gZ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/ce31c2cf-d225-d364-07af-1f82fa2ee449.png)

### 4-3-2. リポジトリのURLを取得
:::note info
「<> Code」をクリック
:::

![msedge_upTstzNcbE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/7a2b1746-b9fe-d27f-cf17-94867974a68d.png)

### 4-3-3. リポジトリのURLを取得

:::note info
ポップしたウィンドウの右側コピーマークをクリック
クリックしたらコピーされます
:::

![msedge_Mgeb04eXK0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/a3d5476a-f7b6-ddf9-3f6e-b155e0c4ced6.png)


## 4-4. コピーしたURLを入力

:::note info
[4-3-3]でコピーしたURLを赤枠の部分にペースト
:::

![SourceTree_vJMg0Dh5Ni.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/f6ed46fc-58f7-ee34-5c14-8cb725fe3472.png)

## 4-5. プロジェクトフォルダを指定
:::note info
プロジェクトを保存したいフォルダを指定します
:::

![SourceTree_vJMg0Dh5Ni (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/fdfd603a-0ea5-4f1a-714c-dd06d9006f93.png)

:::note info
今回は「MyGameProject」フォルダに保存します
:::

![SourceTree_HFeOJYfSjG.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/a8150922-0904-d512-4d48-9fd7ae73a196.png)


# 4-6. クローンしてくる
:::note info
「クローン」をクリック
:::
![SourceTree_vJMg0Dh5Ni (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/47574634-600b-44f8-4193-f8863d377c5d.png)

:::note info
クローン出来ました
:::
![SourceTree_koCr54MTHt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/bb77be65-9934-e6fd-e886-78f91237fee8.png)


# 5. GitHubとSourcetreeを連携
このままではSourcetreeで行った作業をGitHubと共有できないため、
お互いを認証させる必要があります。

## 5-1. Sourcetreeのオプションを変更
:::note info
画面左上の`ツール > オプション` を選択
:::

![SourceTree_gyBf13LjKw.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/68dd04e7-5eba-2c6b-7324-4b9cabb4c8d8.png)



## 5-2. オプション変更（Host）
:::note info
ホスティングサービス → GitHub
優先するプロトコル → SSH

へ変更
:::

![SourceTree_TCF0aQ1oE4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/134ce1c7-266e-c6a1-7efb-1511b420487c.png)


## 5-3. オプションを変更（Credentials）
:::note info
認証 → OAuth

へ変更
:::

![SourceTree_TCF0aQ1oE4 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/349e18fd-d26c-fcc8-4d03-5b94f90d5088.png)

:::note info
「OAuth トークンを再読み込み」をクリック
:::

![SourceTree_TCF0aQ1oE4 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/fe5b719a-e3ab-1b3b-2f73-c83691614f16.png)


## 5-4. GitHubで認証を許可
:::note info
「Authorize atlassian」をクリック
:::

![msedge_qAMmxvmdOS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/bbc18d90-bef8-a59d-d0c9-f99d0b720b5d.png)


# 5-5. 認証完了
:::note info
`認証に成功`と出たら認証完了です
「OK」を押しましょう
:::

![SourceTree_TJmBFLYQeV (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/7017e34a-28a5-4a2c-d7a3-80e62364e2ee.png)

:::note info
これでGitHub,Sourcetreeは基本的にエラーが出ずに利用可能です
:::

# 6. GitHubへの送信方法

## 6-1. プロジェクトを管理フォルダに追加
:::note info
[4-5]で指定したプロジェクトフォルダに、
プロジェクトを作成するなり、ペーストしてくるなりしましょう。
:::
例：VisualStudioでプロジェクトを作成
![explorer_SBtKMzi4oI.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/09fc324a-6403-bd4b-a4e5-11d85d63521c.png)

赤子の頃に見たコードを追加しました
![devenv_SGA9zBQtDL.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/fbb674a8-2eb8-1505-a38a-7220917a1239.png)

## 6-2. Sourcetreeで追加差分を確認
:::note info
画面左上の「ファイルステータス」をクリック
:::

![adwadwdawdawd.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/a4c65a0e-4dfb-d550-6711-0cec4c81772b.png)

:::note info
今追加したプロジェクトが認識されている
:::

![SoawdawdawdurceTree_5VKUIuuAon.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/a79c9c1b-dc33-76cc-b886-eb23e05f550a.png)

:::note info
追加したファイルの詳細も確認できる
赤子コードを確認
:::

![SourceTree_P6eVHgxzpI.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/5cac44cf-b883-f67f-7a5b-a067c34c9855.png)


## 6-3. 差分を保存する
:::note info
「全てインデックスに追加」をクリック
:::


![SourceTree_9Qh8NBuAXy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/f5eed49c-2ff8-3700-69e7-d04ef8906edb.png)

#

:::note warn
このまま追加した差分を保存しようとすると、警告が出る場合があります
:::
![IPR2KM7GAJ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/89d05938-cc8d-a3f2-4fcd-a36654971ce2.png)

:::note warn
Sourcetreeは大きいデータを追加(`厳密にはコミット、プッシュ`)する際、警告が出る

10MB → 警告
90～100MB →　ギリギリ管理可能
100MB以上 → 管理不可能(エラーが発生しGitHubへ送信不可になる)

一応`Git LFS`という別サービスで容量問題は解決できますが、
本記事では説明しません。
:::

:::note alert
また、GitHubのリポジトリの容量が合計`5GB`以上になった際も警告が出ます。
:::



## 6-4. gitignoreを追加する


:::note info
### gitignoreとは？
- Gitで管理したくないファイルやフォルダを指定するための設定ファイル
- 必要なものだけ管理するようにする
- 使用言語、環境によって内容が違う
:::

:::note info
[2-2-③]で設定しているなら`.gitignore`ファイルが初めからあるはず

ない場合は「.gitignore」という名前の新しいテキストファイルを作成すればOK
:::

![explorer_bF5SEuHlhM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/7d068b63-215b-e678-65e5-6935af724304.png)


## 6-5. gitignoreの内容を変更
:::note info
使用言語、環境にあった`.gitignore`の内容に変更
:::

https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

:::note info
「ファイルマーク？」をクリックしFilesを展開
:::
![スクリーンショット 2024-12-28 000128.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/5b2c31fe-132e-5293-b6cc-4ef104c840cd.png)



:::note info
私の場合は`VisualStudio`作業環境なので左側から選択
:::

![msedge_xCQeQXRiO9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/7b61d738-361b-96fb-bbd9-c0d6872114e8.png)

:::note info
コピーして`.gitignore`ファイルにそのままペースト
:::

 <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/76242934-f8aa-61c7-c72d-894c8963130b.png" width=50%><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/82dbae5b-09a5-f338-0c9e-2225f02d89d9.png" width=50%>


## 6-6. Sourcetreeの差分を確認
:::note info
差分が少なくなっていることを確認
(`.gitignore`に該当するファイルがなければ少なくはならないです)

Unityとかはすさまじく減ると思います。
:::

![SourceTree_HQ9I7XuuiA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/a026b4bc-87a9-07f6-927a-b46ed3afb0b5.png)


## 6-7. Sourcetreeのローカルリポジトリに保存
### 6-7-1. ローカルリポジトリに保存するファイルを選択
:::note info
今回は全てを保存したいので、
「全てインデックスに追加」をクリック
:::

![SourceTree_9lwhfOEZpJ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/5c0ac416-90f4-e0f8-615b-e22a9d59fcbe.png)

:::note info
インデックスに追加されました
:::

![SourceTree_D2rvwNU2Xf.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/7fed8f06-9403-8507-08af-20e42d5edd00.png)


## 6-7-2. コミット
:::note info
### コミットとは？
- 自分のPCの内容を、ソースツリーに保存することだよ（.gitファイル）
- コミットすると、自分のPCに保存されるよ
- コミットしても、リモートリポジトリには反映されないよ
:::


:::note info
画面下の入力画面に今回追加した作業の説明を追加します
追加したら「コミット」をクリック
:::

![SourceTree_jMTQWuMqIr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/2e96fcce-21ec-c36c-c652-62150003e04d.png)


:::note info
コミットできました
:::

![SourceTree_mWcZ1q2pVc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/df8e8cfd-8fb9-1db6-8176-d8f85218fb37.png)


## 6-8. リモートリポジトリへプッシュする
:::note info
### プッシュとは？
- 自分のPCの作業内容をサイト上の保管場所に送信(反映)することだよ
:::

### Sourcetreeで保存した内容をGitHubのリモートリポジトリに送信し、反映させます
:::note info
プッシュボタンをクリック
:::

![SourceTree_mWcZ1q2pVc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/6df50a3b-0ff0-49db-1799-f89e7ecff2ba.png)

:::note info
プッシュをクリック
:::
![SourceTree_pA6jFGt3V6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/e4f8ee3f-448b-1146-1c59-e36684ffa199.png)


:::note info
このような画面が出た場合は、チェックを入れて「Select」をクリック
:::

![git-credential-helper-selector_of2O73O1wK.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/1a3e5b33-b4b1-5504-713f-5dbf8acee87c.png)

:::note info
GitHubのアカウント名を選択し、
「Continue」をクリック
:::
![git-credential-manager_Jp0fJ9du3p.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/5e48338b-34f3-80d3-79ab-dc9b1863ee5a.png)

## 6-9. 変更がGitHubに反映されているか確認する
:::note info
プッシュで選択したアカウントでGitHubにログイン
:::
![msedge_gXS9Mi69hg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/efd5aab1-d91c-5304-4f0a-68bb9203c888.png)

:::note info
ちゃんと変更が保存されています
赤子コードも元気そうです
:::

![msedge_6ZBdJjzN16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847430/60a2fd04-9528-f161-0c0c-71dad41dfb09.png)


# 最後に
どこよりも丁寧な説明を心がけて作成してみました。
ところどころ正確でない情報がありますが、ご了承ください。