LoginSignup
6
3

More than 1 year has passed since last update.

UnityプロジェクトをGitHubで管理したい(SourceTree編)

Posted at

概要

Unityで作成したコードをGitHubでバージョン管理する手順を記載しています。

Unityは、EclipseやAndroid Studio、Visual Studioなどと違い、GitHubとの連携が最初から用意されているわけではないようで、下記のような方法を選択するようです。

  • Github for Unity(https://unity.github.com/)
    UnityのAssetとして、GitHub管理したいプロジェクトに追加する方式。
  • Source Tree(https://www.sourcetreeapp.com/)
    OS上のファイルをGit管理する。という扱いでUnityをGitHub管理する。
  • GitHub Desktop(https://desktop.github.com/)
    GitHub純正のGit管理アプリ。GitHub側に近いUIなので、ローカル上の管理は戸惑うかも。

前提環境

* macOS 12.2.1(Monterey)
* SourceTree
* Unity 2020.3.29f1(Personalライセンス)
* Github Free(https://github.co.jp/pricing.html

やってみる

Unity Hubなどから新規で作成したプロジェクトをGitHubで管理するまでの流れで進めていきます。
個人的に多いのが2Dでのテンプレで作成しているので、下記のような感じの構成になります。
プロジェクト名は「Sample2D」としておきます。

.
├── Assets
│   └── Scenes
├── Library
│   ├── APIUpdater
│   ├── Artifacts
│   ├── PackageCache
│   ├── PackageManager
│   ├── ScriptAssemblies
│   ├── ShaderCache
│   ├── StateCache
│   └── TempArtifacts
├── Logs
├── Packages
├── ProjectSettings
├── UserSettings
└── obj
    └── Debug

というわけで、上記のプロジェクトをGitHubへ登録します。

SourceTreeのインストールなど

前回(SourceTreeでGitHubを使う )で解説したので、そちらを一読してください。

GitHubにリポジトリを作成する

SourceTreeからGitHubにリポジトリを作成することはできないようです。
なので、先にGitHub側でリポジトリを作成します。

スクリーンショット 2022-02-23 12.11.41.png

作成するのは、作成したUnityプロジェクトと同名(Sample2D)としておきます。
自分用のリポジトリなのでPrivateを選択します。
そして、.gitignoreを追加します。(重要)
ここで、Unity用の.gitignoreが標準で用意されているので、追加しておくと余計なファイルをGitHubに登録しないようになります。

スクリーンショット 2022-02-23 12.14.59.png

はい。まずは、空っぽのリポジトリができました。

SourceTreeでローカルにクローンしてくる

SourceTreeを開いて、リモート側に作成したリポジトリを探します。
見つけたら、リポジトリの右側の「クローン」をクリックして、適当なところにクローンします。
一応書いておきますが、Unityプロジェクトが置かれているところには、すでに同名のフォルダがあるので別の場所にしましょう。

スクリーンショット 2022-02-23 12.16.56.png

クローンすると、SourceTreeのローカル側に表示されます。
スクリーンショット 2022-02-23 12.19.01.png

ローカルにクローンしたフォルダにコピーする

Unityプロジェクトをクローンしたフォルダにコピーします。
スクリーンショット 2022-02-23 12.22.34.png

GitHubにプッシュする

正確には、ローカルのGitリポジトリにコミットして、リモートのGitHubにプッシュです。
UnityプロジェクトでGitHub管理にしたくないものの選別は、すでにUnity用の.gitignoreがあるので、気にせずコミットしてOKです。

下記のように、フォルダにコピーした時点で、コミット対象はこのくらい。と数が表示されている(今回は30ファイル)。

スクリーンショット 2022-02-23 12.24.51.png

リポジトリをダブルクリックして開くとコミット対象のリストが確認できる
スクリーンショット 2022-02-23 12.28.33.png

「保留中のファイル」のチェックをつけると、すべての対象にチェックがつくので、チェックをつけます。
スクリーンショット 2022-02-23 12.28.56.png

コミットメッセージに適当に記載して、コミットボタンをおします。

下記のような確認が表示されるのでOKをクリック
スクリーンショット 2022-02-23 12.31.12.png

この時点では、GitHubにはあがってません。まだローカルGitへコミットしただけです。

続いて、GitHubへプッシュします。
スクリーンショット 2022-02-23 12.32.50.png

上記のように、プッシュに通知がきていると思います。
クリックすると、下記のように確認が表示されるので、一応確認してOKボタンをクリックします。
スクリーンショット 2022-02-23 12.33.52.png

これで、GitHubにプッシュされたはずです。

GitHubで確認してみる

GitHub側で対象のリポジトリを見てみると、無事、Pushできていることが確認できました。
スクリーンショット 2022-02-23 12.36.16.png

このあとの問題

自分はやらかしたので、一応書いておきますが、Unity Hub側で新しくクローンしてプッシュさせたフォルダに切り替えてください。

そうしないと、Git管理されていないほうを更新していって、でもSourceTreeにはコミット対象はない。と言われるアホなことをしでかします。

以上で、UnityをGitHub管理するまでの手順でした。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3