SourceTreeとGit,GitHub,Unityについての備忘録

# ⚠注意
#### これは一個人素人の備忘録です。鵜呑みにしないでください。
普通にプログラミングの備忘録ならまだいいんですけど、Gitみたいなバージョン管理の話になると、
「ファイルが消えちゃった！」とかなっても責任取れないので一応免責しておきます。

# SourceTreeを使ってみた
unityのデータをgitで連携してみたかったので、SourceTreeを導入。
SourceTreeはGUIであり、今まで苦労していたCUIではないため、操作が非常に簡単である。
とはいえ、初心者には難しいこともあるので導入や簡単な使い方についての備忘録を残しておく。

# 1.Gitの導入(不要な可能性有り)
まずはGitの導入が必要である。
SourceTreeはGitを使いやすくするツールのようなものなので、とりあえずGitが必要。

Gitの導入方法は以下の通りである。
https://git-for-windows.github.io/
にアクセスし、Gitをダウンロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/157c786a-29f5-27f7-a36b-14f34ee5b945.png)
Downloadボタンを押す。
特別な意図がなければ、基本的に`Next`を押し、インストールを進める。
コマンドプロンプトを開き、
```
git --version
```
を入力し、Versionが表示されればインストール完了である。

GitBashがインストールされているはずなので、それを開くとターミナルが立ち上がる。
（検索バーからGitなどと検索すればGitBashも出てくるはず。）
そこで初期設定を行う。

```
git config --global user.name "ユーザー名"
git config --global user.email "xxx@email.com"
```
と入力。その後以下のコマンドを実行し、
```
git config -l
```
---
```
省略
user.name = "設定したユーザ名"
user.email = "設定したメールアドレス"
省略
```
が表示されていれば完了である。



# 2.[重要]GitHubアカウントの作成
https://github.com/
にアクセスし、アカウントの作成を進める。
アカウントの作成が完了したら、リモートリポジトリを作成する。
リモートリポジトリという言葉が聞き慣れない人もいるかも知れないが、今はそんなものが存在するのかと思っておけば大丈夫だと思います。（イメージしたい方はフォルダをイメージしてください、記憶を保存する場所です。）

# 3.リモートリポジトリの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/93bbe13e-eb5c-b6cd-506a-3bba750e04b9.png)
GitHubのホームの左上にTop Repositoriesという項目が存在するので、`New`から新しいリポジトリを作成します。

Create a new repositoryという画面に遷移するので、そこで必要な情報を入力していきます。
`Repository name` = フォルダ名のようなものです。好きなように設定してください。日本語は避けたほうが良いと思います。
`public or private`↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/f9212c6e-9eeb-9dec-f6a5-ea7d82aacf89.png)

どちらでも良いですが、unityでは有料のアセットをGitHubにpublicでアップロードすると規約違反になる場合もあるため、privateをおすすめします。

`.gitignore`
unityを設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/d2bb1a38-a4f1-ce7f-a4e5-460aee75c283.png)
　　　↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/9b219dcb-91fa-6c7d-c7b2-ce562ae263dd.png)

他の項目はそのままで大丈夫です。なにか事情があるのならば、他のサイトで調べてからその項目を変更することをおすすめします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/dffccb87-db4b-fca6-d8ac-e9ca8f0a1a3d.png)
作成します。

# 4.[一応]SourceTreeの導入（詳しい方法は他サイトで調べるべきです）
https://www.sourcetreeapp.com/
このサイトにアクセスし、SourceTreeをインストールします。
ここの導入については他のサイト様を参照にしたほうが良いと思います。
https://styly.cc/ja/tips/michi_unity_github/
↑おすすめサイト（参考文献）

自分はWindowsだったので少し操作が異なりましたが、基本的にSkipしていました。
とりあえずインストールできたら、GitHubと連携するのですが、自分の場合は、Step1を行っていたおかげかわからないですが、すでに連携済みでした。
こんな感じでSourceTreeの導入はよくわからないまま進んだので私を参考にするべきではないです。

# 5.リポジトリのクローン
導入後行ったのは、`リポジトリのクローン`です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/2b4fa3e3-9d03-86b4-3554-ac2a3b3a407e.png)
新しいタブを作成し、この画面に遷移した後、
`元のパス/URL`の部分にgitHubのリポジトリのURLを貼り付けました。
ちなみにリポジトリのURLは、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/a68d7415-a58f-863b-4dbe-69c2b4092275.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/1e547480-1cd6-a6e1-bc8f-98d8b7e3ece6.png)
緑色の`<> Code`ボタン→`HTTPS`からURLをコピーできます。
`保存先のパス`と`名前`は基本的に好きなものにしていただければ良いと思います。
おすすめとしては`保存先のパス`はUnityHubから簡単にアクセスできる場所で良いと思います。
自分は
```
D:/unity/"プロジェクトの名前"
```
に保存しています。

# 6.コミット、プッシュしてみる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/2ce87c66-ba05-24b3-7e16-5ea396883d64.png)
クローンできたら、このような画面が表示できると思います。
そしたら、`エクスプローラを開く`を押し、エクスプローラを開いておきます。

その後、UnityHubに移ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/1f7ea52d-f244-31e4-f839-5248369a2eb0.png)
GitHubで管理したいプロジェクトを見つけたら`･･･`からエクスプローラで表示を選択します。

２つのエクスプローラが開けたと思います。

#### ※⚠ここから操作を行うと元々の場所からデータが消えてしまう可能性があります。（操作する場所が変わります)ドラッグアンドドロップをすると、起こります。データが消えるわけではなく、単に移動するだけですが、気になる方は控えてください。
##### くどいようですが、怖い方はこの操作を控えてください。あくまでこのサイトは備忘録であり、プロエンジニアの解説では有りません。素人の備忘録です。怖いけどやってみたいという方は新しいプロジェクトを作成し、何もデータがないからのゲームでこの操作を行ってください。

そしたら、UnityHubで開いた方から、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/0cd65428-8d88-46cb-5d9f-38760641f749.png)
これらの項目をSourceTreeで開いた方へ`コピーアンドペースト`します。

すると、![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/a73cc3f5-cdae-a5fa-668b-d6eb3cd20510.png)
SourceTreeの方の画面が更新されるので、`全てインデックスに追加`を押します。
これはコマンドで言う、
```
git add .
```
であり、ステージングです。（この辺の用語曖昧なので気になる方は自分で調べてください。）

ここでめちゃくちゃ時間かかるんだけど！という人は.gitignoreのファイルが消えていたり、うまく設定できていない可能性があります。
自分は間違えて.gitignoreを消してしまっていました。普通はそうはならないのであまり器にしなくていいですが、そういう人も存在します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/21c15bb2-b552-549b-cbf2-99b44d704808.png)
コミットメッセージを記述し、`コミット`ボタンを押します。
するとコミットされます。
コミットというのはローカルリポジトリに変更を保存するということっぽいです。
簡単に言えばオフラインGitHubみたいな感じですね。（それがGitなんですけど）

この操作が終わったらいよいよGitHubにPush（GitHubというウェブサイト上から閲覧できる状態にする）をします。これも結構簡単で、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3536729/48e467d3-3354-9c1d-785e-ced23126822c.png)
プッシュボタンを押すだけです。
自分は別の作業をしていたので`プル`に通知がついていますが、コミット後ならプッシュに通知がついていると思います。
Webサイトで閲覧してみて、色々入っていたら成功です。