連載目次:【連載Git目次】ほんとは簡単?SourceTreeでGitを始めよう!
前回:【連載Git 第5回】リモートリポジトリを使ってみよう
今回はUnityのプロジェクトをGitで管理する方法について書いていきます。
リモートリポジトリを使えばバックアップとしても使えるのでオススメですよ。
作業環境
- Unity free 4.3.2f1
- Mac OS X 10.8.5
- SourceTree 1.8.0.3
- BitBucket (不明)
Unityプロジェクト作成からプッシュまで
Unityですでに存在するプロジェクトをリモートリポジトリにプッシュするところまでをやってみましょう。チームで開発する場合も1人目はこの作業となります。
プロジェクトの用意
今回はサンプル用に新規プロジェクトを作成します。UnityでNewProjectから作成。
適当にCubeやLightを置いときましょう。
ではこのプロジェクトを使って進めます。
Unityのプロジェクト設定
UnityのプロジェクトをGitで管理するために少々設定が必要です。メニュー->Edit->Project Settings->Editor
Version ControlのModeをVisible Meta Filesに変更。
Asset SerializationのModeをForce Textに変更。
以上でUnity側の設定は完了です。
Sceneを保存して一旦Unityを終了しておきます。
ローカルリポジトリの作成
SourceTreeを立ち上げ、ローカルリポジトリを作成します。管理したいUnityのプロジェクトフォルダを指定しましょう。
リポジトリを開くとこんな感じ。
すでに大量のファイルが保留状態になっていますね。
この中には管理不要なファイルが多く含まれているのでコミットはまだ待ってください。
除外リスト(gitignore)の設定
前述した不要なファイルをGitで管理しないよう設定します。SourceTreeのリポジトリを開いた画面から
設定->高度な設定->リポジトリ限定無視リストの編集
すると何かしらのテキストエディタが立ち上がると思います。
下記内容をまるっとコピペして保存しましょう。
/[Ll]ibrary/ /[Tt]emp/ /[Oo]bj/ /[Bb]uild/ # Autogenerated VS/MD solution and project files *.csproj *.unityproj *.sln *.suo *.tmp *.user *.userprefs *.pidb *.booproj # Unity3D generated meta files *.pidb.meta # Unity3D Generated File On Crash Reports sysinfo.txt参照:github/gitignore/Unity.gitignore
保存して閉じましょう。
SourceTreeに戻ると、保留状態のファイルが激減しているはずです。
先ほどのProjectの場合は3つだけになりました。
このように「.gitignore」というファイルを作成することで
Gitで管理したくないファイルを除外することができます。
今回除外したのはUnityやMonoの管理ファイルなどです。
これらはチーム開発時などに邪魔になるため除外してしまいます。
では一度コミットしておきましょう。
リモートリポジトリの作成
前回の記事同様に、リモートリポジトリを作成&選択します。作成時は誤って「公開する」を選択しないよう気をつけてください。
プッシュ
ではプッシュしてみましょう。これでプロジェクトをリモートリポジトリへプッシュ完了です。
Unityプロジェクトをクローンして開くまで
今度は逆にリモートリポジトリからデータを取得してUnityで開くまでをやってみます。他人の作成したプロジェクトにチームとして加わるときや、
MacでプッシュしたプロジェクトをWindowsで開く場合などに行います。
リモートリポジトリからクローン
先ほど作成したリモートリポジトリからクローンします。自動的にmasterブランチがチェックアウトされます。
中身を見てみるとこんな感じ。
最初に作成したSceneだけが入っていますね。
Unityで開く
Unityを起動し、File->OpenProject->Open Other->クローンしたフォルダを指定
これだけで問題なく開けてしまいます。
この時点でUnityがいくつかのフォルダを自動生成します。
※全てgitignoreで除外されているのでSourceTreeには表示されません。
Unityのプロジェクト設定
クローンから開いた場合も、Unityのプロジェクト設定は必要です。プッシュしたときと同じように設定しておきましょう。
メニュー->Edit->Project Settings->Editor
Version ControlのModeをVisible Meta Filesに変更。
Asset SerializationのModeをForce Textに変更。
以上です。あっという間ですね。
まとめ
これでUnityのソースファイルもGitで管理できるようになりました。リモートリポジトリにも入るのでバックアップとしても活用できますね。
gitignoreはネットで見つけたものをベースに数カ所修正しました。
今のところ問題なく使えてますが、
扱うファイルによっては不備があるかもしれませんので
その場合は各自修正してご利用ください。
これでバージョン管理も万全です。安心して開発できますね。
次回でラスト!
次はチーム開発時の注意点などを書いてみたいと思います。
経験ないので調べながらですがw