Unityをgitで管理する

#git#sourcetree#Unity

Unityプロジェクトをgitで管理する方法をまとめました。

git連携

これまではXcodeなりPyCharmなりIDE側で管理するか、CUIでコマンド叩いていました。 gitでUnityプロジェクトを管理するベストプラクティスを探します。   GithubとSourceTree使って管理することにしました。 一応、以下の感じで比較しました。

SourceTreeなどのデスクトップアプリ

SourceTreeは以前Windowsを使っていた時に利用したことがあります。GUIで使いやすい。 気になるのは、仮想デスクトップ1つあたりに1つのアプリを割り当てて作業していること。 Slack、Chrome、Unity、VS。プラスアルファでメモ帳など。できればあんま増やしたくない。

CUI

コマンドプロンプト触りたくない。却下。 linuxとコマンドが違ったり(lsコマンドとdirコマンドとか)、 パワーシェルで少し良くなったようですが。 rm -rf使えなかったし、一々突っかかるのも面倒。

Unity Cloud Build

”超便利”らしいが、無料だと一時間に一回しかビルドできないらしいので却下。

プラグイン

Unity内でgit管理できるプラグインないかなと調べてみましたが、なさげ。 あったらいいのに。

Githubにリポジトリ作成

実はずっとリポジトリ自体はあって、タスク管理とWikiだけ使っていました。 ローカルにクローンします。

SourceTreeインストール

以下のページからインストーラをダウンロードします。

  インストーラーを起動します。ポチポチ進めます。   Atlassianアカウントでのログインを求められます。あればログイン、なければ作ります。   リモートリポジトリの置き場所を選択します。 今回はGithub。 Bitbucketは無料でもPrivateリポジトリ作れるのが魅力です。 学生登録すればGithubでもPrivate作れるので僕は基本Githubを使っています。使い勝手自体はそれほど変わらない印象。   続行を押すとブラウザが開き、Github連携の許可を求めてきます。 問題なければ下の方の「Authorize Atlassian」をクリックします。   インストーラーに戻ると頑張ってダウンロードしています。   gitignoreのことでしょう。 exeファイルなどのバイナリファイルはgitで取り扱うには向かないらしいです。 dllファイル無視していいのか?と思ったので「いいえ」を選択。   クローンするリポジトリを選んで、保存先のパスも用意します。 とりあえずここではスキップ。

リモートと接続

Remoteを選ぶと連携しているアカウントのリポジトリが出てきます。 ここでお目当てのリポジトリの「clone」を選択。   保存場所を選び、「クローン」。   選択したローカルのファイルがgitの管理下に置かれました。 このフォルダの中にUnityプロジェクトを作成します。

.gitignoreを作成(コピー)

Unityプロジェクトに限らず、バイナリファイルをgitで扱うのは好ましくありません。 うっかりコミットしようものなら、リポジトリが肥大化。一々クローンに時間がかかります。 さてUnityプロジェクトの.gitignoreってどうすればいいのかですが、   Unity一般なら以下の記事、

  特にHoloLensアプリなら以下の記事が参考になるかと思います。

  僕はMRDesignLabsの.gitignoreを拝借しました。 まぁ間違いないでしょう。

  コピーして自分のフォルダに突っ込みます。

Unityプロジェクト作成

Unityで新規プロジェクト作成すると、こんな感じのフォルダ構造になります。 (「Swampdog_unity」がUnityプロジェクト)

pushする

SourceTreeに戻ると「作業ツリーのファイル」に新しく追加したファイルが表示されています。

余談

細かいことは省きますが、add -> commit -> pushでリモートに変更を伝えます。 ここら辺のそもそものgit知識はいずれまとめたいと思います。 それか以下のサイトが大変勉強になります。 エンジニア以外のデザイナーさんとかもこれぐらいは把握しているとお仕事がスムーズになるかも。 (ちなみにサルでもわかるらしいが僕は数回読み直して理解しました)

余談終わり。   本題に戻って「全てインデックスに追加」。これで準備状態。 下のコメント欄みたいなとこにメッセージを書いて(画像では「unity_first_commit」)、 「変更をすぐにorigin/masterにプッシュする」はご希望でチェックを入れます。 楽をとるか安全をとるかだと思います。うっかりへんなのpushしてしまうことはよくあります。 「コミット」を押します。   すぐにプッシュを選択しなかった場合は、右上の「プッシュ」を選択してウィンドウを開きます。 「プッシュ」をクリック。

Githubで確認

before

after

  以降もUnityプロジェクトを更新したらいい塩梅の頻度でpushします。 バージョン管理大事。

参考