2014年11月02日

開発環境のアップグレード | バージョン管理に SourceTree を導入

さて、今回はちょっと寄り道!
結構ゲームも出来てきた、イコール、スクリプトや取り巻きのデータも増えて来たんですよね。
なんで、そろそろバージョン管理システムを入れてみたいと思います。


まずはダウンロードから
ほんとはシステムの選定から入るのかな?
でも、昔使った事があって、少し使い方も分かってる Mercurial 系の SourceTree というのを使って行こうと思ってます。
なんで、選定はなしですね♪

では、ここからダウンロード。
それぞれのプラットフォームにあったバージョンを選んでね。
Screen Shot 2014-10-31 at 3.06.18 AM.png

さ、ダウンロード完了しました!


SourceTree のインストール
じゃインストールしてみましょうね!
dmgファイルなんで、簡単インストールですね。
Screen Shot 2014-10-31 at 3.07.16 AM.png
あっ、もうインストール出来ちゃいましたね!
Screen Shot 2014-10-31 at 3.08.25 AM.png
じゃ、ついでに起動してみましょう!


SourceTree の起動
じゃ、Applications からクリックして起動してみましょう!
Screen Shot 2014-10-31 at 3.11.39 AM.png
いつものWindowですが、迷わず "Open" を選択。
Screen Shot 2014-10-31 at 3.11.49 AM.png
agree にチェックを入れてContinue!
Screen Shot 2014-10-31 at 3.12.17 AM.png
これはちょっと別にいらないかな?今は。
なんで、左下の "Skip Setup" でひとまずお茶を濁します...
Screen Shot 2014-10-31 at 3.13.31 AM.png
さ、ようやく本体が立ち上がったみたいですね!


Unity 側の設定変更
さて、今回の SourceTree はUnityからすると、外部のバージョン管理ソフトという事になるんで、ここ の注意に従って、Editor の設定を変えておきましょうね。
Editorsetting1.png

Edit -> Project Settings -> Editor

Editorsetting2.png
Visible Meta Files を選択

さらに、新規リポジトリの作成前に、多分存在してる、"Library" と "iOS_Build" フォルダも消しておきましょうかね。
Screen Shot 2014-10-31 at 3.21.55 AM.png
完全に消すのも怖いんでいっこ上の階層に移動


新規ローカルリポジトリの作成
一般的な考え方は、こことか見てもらった方がいいんでしょうね。
自分じゃ上手く説明も出来ないし。
さ、まず必要になるリポジトリ、と言われるデータベースを作りましょうかね。

ここの "+ New Repository" から、"Create local repository" を選んで、プロジェクトフォルダを選択します。
Screen Shot 2014-10-31 at 3.25.35 AM.png
はやっ!もう出来ましたね。
Screen Shot 2014-10-31 at 3.26.40 AM.png
じゃ、作成したリポジトリをクリックして、SourceTree本体でみてみましょう!
Screen Shot 2014-10-31 at 3.28.10 AM.png
はてなマークが付いたファイルがずらっとならんでますね〜。
これは、まだSourceTreeがしらないファイルで、どうしたらいい?って感じのファイル達です。
こいつらを、SourceTreeでトラックする様に登録してやりましょう!

基本、今存在してるファイルは全部トラックしたいファイル達なんで、ファイルを全部選択して...
Screen Shot 2014-10-31 at 3.30.29 AM.png
その状態で右クリックメニューから...
Screen Shot 2014-10-31 at 3.30.34 AM.png
"Add" を選択!
Add2.png

これで Add 完了ですね。

そして、コメントを添えようとすると...ユーザー情報の登録ですね。
スクリーンショット撮り忘れましたが、SourceTree で使うニックネームとメールアドレスで登録完了ですね。
では、改めてコメントを入れて、右下の "Commit" ボタンを押すと....
Commit2.png
ローカルリポジトリへのコミット完了ですね!
Screen Shot 2014-10-31 at 3.36.33 AM2.png

赤丸のPushの所に "1" と書かれて、リモートリポジトリにPushできるバージョンが1あると言われてます。

左上の View タグで、Logを選択するとこれまでにコミットされたバージョンの情報が見れます。
Committed3.png

さて、これがローカルリポジトリなんですが、最終的には、外付けHDDにリポジトリがある形にしたいんですよね。
別に個人でやってる制作なんで。
なので、外付けHDDにこのローカルリポジトリをクローンしてみたいと思います。
サーバー環境がある人は、外付けHDD の部分をサーバー上のロケーションに置き換えても大丈夫なのかな?


リポジトリのクローン作成
クローンは、この最初のブックマーク画面からみたいですね。
"+ New Repository" をクリックして、"Clone from URL" って、URLじゃないけど大丈夫かな?
Screen Shot 2014-10-31 at 4.00.22 AM.png
ハイライトされてるやつの上の "Clone from URL" を選んでね。
ま、試してみましょうかね。
Screen Shot 2014-10-31 at 4.10.26 AM2.png
Destination Path を外付けHDDのパスに
おぉー、大丈夫みたいですね。

さて、これでローカルとHDDのリポジトリが同じ物になったはずなんで、HDD側をリモートに見立ててバージョン管理していけないだろうか?ってところなんですが、どうでしょうか....?


外付けHDDのリポジトリをリモートリポジトリとして設定
でわ、ローカルリポジトリの方を開いて、Repository -> Repository Settings...
Screen Shot 2014-10-31 at 4.25.12 AM.png
するとこんな画面になって....
Screen Shot 2014-10-31 at 3.48.39 AM2.png
リモートリポジトリを追加するんで、左下の "Add" を選択。
すると、リモートリポジトリの URL / path を入力出来る画面になるんで、さっきのHDDのパスを入れてみる。
AddRemote2.png
でOKを押すと....おっ!普通に登録出来てますね!!
Screen Shot 2014-10-31 at 3.48.39 AM2.png
じゃ、試しになんの変更もないけど、Pushをしてみましょうか。
おぉっ!エラー出てませんね!正常に終了してる見たいです!
Screen Shot 2014-10-31 at 4.27.44 AM2.png
ここで、リポジトリの関係が壊れてるとエラーが出てくるはずなんで(赤字で)、どうやら上手く動いてるみたいですね!!


じゃ、試しになんかファイルを更新して、Commit して Push してみましょうか!
Screen Shot 2014-10-31 at 4.37.42 AM.png
ファイルの更新があるんで、ちゃんと "Uncommitted Changes" が出ましたね!

GameManager.cs ファイルだけ変えたんですが、プロジェクト設定系のファイルもいっぱい更新されてますね...
このあたりも合わせてコミットしましょう。
で、Library フォルダですね。これは入れなくていいらしいんで、ignore リストにいれちゃいましょう。
無視したいファイル上で、右クリックして、"ignore" を選択。するとWindowが出てくるんで...
Screen Shot 2014-10-31 at 4.40.02 AM.png
こんな感じで、このフォルダ以下を全部無視!ついでに、Temp フォルダも。

でignoreリストを更新したから、.hgignore も "Add" しなきゃ!
Screen Shot 2014-10-31 at 4.40.56 AM.png
で、これで Commit してみると.....
Screen Shot 2014-10-31 at 4.41.39 AM.png
大丈夫!さらに Push は....
Push2.png
これも、ノーエラーでフィニッシュです!!
コレでなんとか希望してたやりたい事、できたみたいですね!!


Unityからプロジェクトを復元
じゃ、多分動いてない、iOSビルドの復元、いきましょうか!
プラットフォームがPCになってるんで、iOSに変更。
そうそう、それそれ。アセットのインポートからですね。当然。しばらく待って...

じゃ、実行してみましょう!.....

一応エディタ上では動いてますね。

じゃ、iOSビルドを作ってみましょう....

最初からだから、セーブ場所の設定からですね。じゃ、設定して....
自分の環境の構成だと、確実にプラグインファイルで、問題でますね。
ま、ちょっと放っておいて、XCodeで見てみましょう!

GameCenter の設定でエラーがあるので、"Fix Issue" で修正。
Screen Shot 2014-10-30 at 10.27.53 PM.png

で、ビルドしてみると....
Screen Shot 2014-10-31 at 3.07.52 PM.png
当然プラグインファイルが無くなってるのでエラーですね。
なんで、さっき取っておいた昔の環境から、”PluginYG” フォルダを今の環境にXCode上でコピー。
Finderのフォルダを、XCodeの navigator の Classes フォルダにドラッグしてドロップするだけね!
Screen Shot 2014-10-31 at 3.10.36 PM.png
で、実行してみると.....
ビルド通りました!!

これで制作環境は元の状態に戻ったみたいです!


でわ、SourceTree に戻ってみますね。
はい、死ぬほど変更ファイルが出て来ましたね♪
さ、どうしようかな?
さっきの PluginYG はとっときたいんで、Addしましょう。
Screen Shot 2014-10-31 at 3.14.52 PM.png

それ以外のiOS_Build 内のファイルは、Ignore リストに入れてしまいますね。
Screen Shot 2014-10-31 at 3.17.23 PM.png
でコミット!
Screen Shot 2014-10-31 at 3.18.46 PM.png
無事コミットできましたね!!

じゃ、ついでに HDD のリポジトリに Push しちゃいましょう!!
Screen Shot 2014-10-31 at 3.20.32 PM2.png
問題 Nothing!!

あ、チームで制作してる人達は、ホントはここで pull 先にして他のメンバーの更新を拾ってマージしてから Push だね。
俺、かんけーないけどw

全部自分でやるの始めてで、なんか結構大変だったんですが、なんとか制作っぽい環境になったかもしれません!!

        にほんブログ村 ゲームブログ×PlayNCBlogへ
 初めてみました。よかったらクリックお願いね ♪


15時間はながいにゃ〜
posted by やまけん at 10:43| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: