UnityプロジェクトをVSCodeでGithubに上げる方法

# 初めに

以前、「__Github for Unity__」を使った「__Github__」へ上げる方法の記事を作成したのですが

https://qiita.com/T-H9703EnAc/items/7c1e78969f4178a2662d

どうやらサポートの対象外になっていたようです。

https://github.com/github-for-unity/Unity/issues/1179

なので代わりに「__VSCode__」で上げる方法を記載します。

# 前提事項
・事前にGitにあげたいプロジェクトを作成しておくこと。
・__Git__ と __Visual Studio Code__ をインストールしていること。

https://qiita.com/T-H9703EnAc/items/b58808f5e0eed950ce2d

https://qiita.com/T-H9703EnAc/items/4fbe6593d42f9a844b1c

# 目次
|No|概要|
|---|---|
|1|[手順1 .gitignoreファイルを取得・配置](#手順1-gitignoreファイルを取得配置)|
|2|[手順2 ルートディレクトリでVSCodeを開く](#手順2-ルートディレクトリでvscodeを開く)|
|3|[手順3 .gitignoreファイルの追記・修正](#手順3-gitignoreファイルの追記修正)|
|4|[手順4 Gitにpushする](#手順4-gitにpushする)|


# 手順1 .gitignoreファイルを取得・配置

以下から「__Unity.gitignore__」をダウンロードしてください。

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

「__Unity.gitignore__」を「__.gitignore__」にファイル名を変更して、Gitにあげたいプロジェクトのルートディレクトリに配置してください。

![git8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/8bbf60d4-54d4-264d-9b5e-82d79211f2fc.png)

# 手順2 ルートディレクトリでVSCodeを開く

エクスプローラーのプロジェクトのルートディレクトリに移動し、「__アドレスバー__」に「__cmd__」と入力して、__Enter__ を押してください。

![git8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/08c1cdbf-c856-d52b-4e0c-ee8899565c56.png)

プロジェクトのルートディレクトリでコマンドプロンプトが開くので、以下のコマンドを入力して __Enter__ を押してください。
```
code .
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/60ac22cb-8251-e440-e93d-cbd8e68ed7a3.png)

「__VSCode__」が開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/62cfe9ea-98a7-01f7-b903-0787a7c4c6be.png)

# 手順3 .gitignoreファイルの追記・修正

手順3はデフォルトの __.gitignore__ 以外の内容でpushの対象から外したいファイルやフォルダがある場合は実施してください。
<details><summary>手順3 .gitignoreの追記・修正()</summary>

今回は特に修正しませんが、もしGitにあげたくないファイルやフォルダがある場合は別途「__.gitignore__」を編集してください。

特定のファイルをpushの対象から外したい場合は、以下のように追記してください。
```:ファイルをpushの対象から外す記載方法
</ルートディレクトリから参照する任意のパス>/<pushの対象から外したいファイル名>
```
例えば、ルートディレクトリの直下に、「__test__」というファイルがある場合は以下のように追記してください。

```:
/[Tt]est
```
:::note info
__[Tt]__ は正規表現で「__Tまたはt__」のことを指します。つまり、ファイル名の先頭が大文字でも小文字（「__Test__」でも「__test__」）でも対象から外すファイルに追加されます。
:::

特定のフォルダをpushの対象から外したい場合は、以下のように追記してください。
```:フォルダをpushの対象から外す記載方法
</ルートディレクトリから参照する任意のパス>/<pushの対象から外したいフォルダ名>/
```

例えば、ルートディレクトリの直下に「__Test__」というフォルダがあり、その下に「__Test1__」と「__Test2__」というフォルダがあり、「__Test2__」だけ対象から外したい場合は以下のように追記してください。

```
/Test/Test2/
または
/Test/Test2/*
```
:::note warn
「__*__」があるとフォルダ自体はpushの対象に含まれますが、ない場合はフォルダごとpushの対象から外されます。
:::

:::note warn
以下のように記載すれば、「__Test__」フォルダ内のすべてをGitの対象から外します。ただし「__Test1__」のフォルダはpushの対象となります。
```
/Test/*
!/Test/Test1/
```
:::

</details>

# 手順4 Gitにpushする
左側にあるソース管理のマークをクリックするか「__Ctrl + Shift + G__」を入力してソース管理を開き、「__GitHubに公開__」をクリックしてください。
![git9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/e8e46133-ae4a-40f9-f833-d0e8d6536019.png)

・__private__ プロジェクトでリポジトリを作成したい場合は「__Publish to GitHub private repository__」を選択してください。
・__public__ プロジェクトでリポジトリを作成したい場合は「__Publish to GitHub public repository__」を選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/4c64da21-cc89-a96b-bd3e-3462c47495ed.png)

上手くいけばいかのように表示されので「__GitHub上で開く__」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/eee020c6-37b8-a551-5e4a-ac78f0321d5c.png)

上手くいけば以下のように公開されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/a22abf8d-ff9d-4b0f-0d40-c8e8555a76ae.png)

# 最後に
以上となります。ちなみに「__Github for Unity__」は「__Git for Unity__」に置き換わっているようです。

下記の __Readme.md__ の手順でインストールできるようです。

https://github.com/spoiledcat/git-for-unity