SourceTreeを使ってUnityプロジェクトをgitで管理してみよう!
みなさん、こんにちは。ぽうひろです。
みなさん、Unityで開発をしていてプロジェクトが壊れてしまった!!
間違ってファイル削除してしまった! この修正やっぱやめたいけど、もうどうやってたか忘れた・・・
などの経験はないでしょうか?
そこでオススメしたいのが「Unityプロジェクトをgitに登録する」ことです!
よくわからないし敷居が高い、、、と思っている方も意外といるのではないかと思い、
ここで簡単な手順を残しておきたいと思います。
ご参考になれば幸いです。
まず下準備として、gitとSourceTreeというgitをGUIで操作できるソフトをインストールしておきましょう。
gitは以下の記事のhomebrewを利用してインストールしておくと良いです。
Gitではじめるバージョン管理 〜Gitをインストール for Mac OS X〜
SourceTreeはこちらから
SourceTree - Windows と Mac 対応 Git & Mercurial 無料クライアント | Atlassian
ここでは、使用PC:Macで、すでにUnityプロジェクトがある状態からの手順を書きたいと思います。
まず、cd で管理したいUnityプロジェクトの直下に遷移します。
そこでgit init というコマンドを実行します。
そして、SourceTreeで新規リポジトリを選び、既存のローカルリポジトリを選択し、先ほどのgit initしたディレクトリを選択します。
すると、先ほどのプロジェクトが出てくるようになります^^
さて、gitで有名なのは先ほどのSourceTreeを作っているAtlassianのBitBucket。
あとはgithubですね。
ここではgithubの例を書いていきますが、初めは無料で始められるBitBucketをお勧めします。
このYour Repositoriesの「New Repository」ボタンを押します
リポジトリ名を入れて、公開したくないのであれば「Private」にしてCreate RepositoryすればOK
リポジトリを作成すると固有のURLが発行されます。これをコピーしておきます。
SourceTreeの設定でURLに先ほどのURLを入力すれば連携完了です。
連携できるとこんな感じになると思います。
それではここからは、ソースをコミットする例を順を追って説明します。
まず、この状態ですが?となっていますが、これはまだgitにファイルが登録されていないことを意味しています。
gitはローカルとリモートで2段階保存のようなイメージになっており、わかりやすく言いますと、
まずローカルに保存(コミット)、それをリモートに保存(プッシュ)という感じになっています。
gitについての正しい知識は毒きのこさんのエントリーを是非ご覧ください!
tech.librastudio.co.jp
ファイルの横にあるチェックボックスにチェックすると、Indexにステージされた状態になります。(コミットのさらに1つ前の段階って感じですかね)
すると、下にコミットコメントを入力する欄が出てきますので、何かメモを残すと良いです。
コミットを直ちにプッシュするチェックをすると、コミットと同時にプッシュまでできます。
これでgitに保存が完了したことになります!
ところで、Unityプロジェクトをgit管理する時は、以下の内容を.gitignoreというファイル名で
コミットプッシュしておくと、余計なファイルを登録しなくて済むようになります。
このファイルは何を意味しているかというと、gitでこういう名前のファイルは管理しないよ(無視する)という指定をするためのファイルです。
Unityはtmpファイルなどを大量に作るのでそれらまで管理すると、大変になるので無視してしまった方が良いです。
.gitignore
/[Ll]ibrary/ /[Tt]emp/ /[Oo]bj/ /[Bb]uild/ /[Bb]uilds/ /Assets/AssetStoreTools* /TPS_cache/* # Autogenerated VS/MD solution and project files ExportedObj/ *.csproj *.unityproj *.sln *.suo *.tmp *.user *.userprefs *.pidb *.booproj # Unity3D generated meta files *.pidb.meta # Unity3D Generated File On Crash Reports sysinfo.txt ======= *.svd # Unity3D generated meta files *.pidb.meta # Unity3D Generated File On Crash Reports sysinfo.txt # Builds *.apk *.unitypackage
さて、次は何かプログラムを修正してみます。
修正した後、SourceTreeを見てみると、黄色いアイコンで修正したプログラムが表示されています。
右には差分がbefore,after表示されていますね!
さて、この修正。やっぱ、やーめたっていうことがgitで管理しているとできます。
ファイル名の上で右クリックして、メニューを表示し、「リセット」を選びます。
確認ダイアログが出ますのでOKを押します。
ほら、もとどおり!
次は、ファイルを間違えて削除してしまったとしましょう!
削除は-アイコンで表示されます。これもリセットで戻せます。
またファイル名の上で右クリックして、メニューを表示し、「リセット」を選びます。
確認ダイアログが出るのでOKを押します。
これで削除したファイルも元に戻ります!!
今回の例はコミット・プッシュしていないファイルをリセットで戻せるよという例でしたが、
コミット・プッシュしてしまうと、元に戻すのはそれなりの手順が入りますので、またの機会に・・・・w
あまり時間がなくて、雑な説明になっていますので、
落ち着いたらもう少し丁寧&詳細に書いてみたいと思います。
それでは良い開発ライフを!!