手順を備忘録として記載しておく。
まず、こんなことやりましたって話から。
Windows7が入ったデスクトップにGitを導入して、スタンドアローンでのバージョン管理。
その後、同じくWindows7のノートPCと、レンタルサーバーのCentOSのそれぞれにGit導入。(計3台のマシンにGitをインストール)
デスクトップで作成したUnityプロジェクトをCentOSと同期。(リモートにプッシュ)
CentOSからノートPCにプロジェクトをチェックアウト。(リモートからプル)
ノートPCでプロジェクト更新し(コミット)、全ノードに更新を反映。(リモートにプッシュ、デスクトップはプル)
とまあ、こんな感じで、以降はデスクトップ作業→全ノードに更新反映という形で日々の作業を進めている。
それでは、以下手順を簡略にメモしていく。
【スタンドアローンでのバージョン管理】
前提知識:Subversionでバージョン管理をしているプロジェクトに携わったことがある、くらいの経験があれば、重要な箇所をつまみ読むだけで、そういうことね、ってなると思う。
ちなみに、Gitってサブバージョンとどう違うの?って話は昨日の記事を見てもらえると早い。
概要:ファーストステップとして、まずUnityでのゲーム開発で普段使っているデスクトップにGitをインストールして、ローカルマシンのみでバージョン管理する。
大まかな流れ:
1.デスクトップにGitをインストール。
2.GitのGUIツールTortoiseGitをインストール。
3.Unity側でバージョン管理のためのおまじない。
4.デスクトップでUnityプロジェクトをコミットし、ファイルの削除・復元などを試す。
手順1.デスクトップにGitをインストール。
Windows版のGitインストーラを下記のURLから取得する。
http://msysgit.github.io/
ダウロードしたインストーラをたたいて、インストール。
インストールの設定はすべてデフォルトで行った。
コマンドプロンプトからインストール後にGitの初期設定(ユーザー情報設定)を行う。
> git --version > git config --global user.name [YOUR NAME] > git config --global user.email [YOUR EMAIL] > git config --global color.ui "auto" > git config --list
手順2.GitのGUIツールTortoiseGitをインストール。
Windows版のTortoiseGitインストーラと日本語化プラグインを下記のURLから取得する。
https://code.google.com/p/tortoisegit/
ダウロードしたインストーラをたたいて、インストール。
インストールの設定はすべてデフォルトで行った。
インストールが終わったら、使用言語を日本語に変えておく。
手順3-4.Unity側でバージョン管理のためのおまじないと動作確認。
これについては、Unity本家サイトに詳しいやり方が載っているのでそちらを参照したほうが正確。
要約するとこうだ。
・Unity内で対象となるプロジェクトを開く。(念のためバックアップを取っておく)
・Edit->Project Settings->Editor で Meta files を有効化。
・Unityを終了。
・プロジェクト ディレクトリの Library ディレクトリを削除(同期の必要が無いため)
・プロジェクト ディレクトリをコミット。
このとき、プロジェクトフォルダをリポジトリにしてもよいんだけど、後々リモートと同期することを考えて、リポジトリ用の親フォルダの下にプロジェクトを作っておくとよいと思う。
ちなみに俺の場合、ローカルではこんな感じで管理している。
~Hoge/myrepo.git/TestProject
・ためしに中のファイルを削除してみる。
・プロジェクトをGitからチェックアウト。削除したファイルが復元される。
・Assets および ProjectSettings がバージョン管理されていることを確認。
・再度Unityプロジェクトを開くことで、上記で削除した Library ディレクトリが生成されます。
・バージョン管理をしない Library ディレクトリに対して無視(igonre)するフィルタをセットアップ。
・最後に、変更をコミット。
【リモートマシンのリポジトリを使ったバージョン管理】
前提知識:TeraTermを使ってリモートのLinuxサーバを操作したことがある。またyumでアプリケーションをインストールしたことがあれば、大丈夫だと思う。(俺がその程度なので)
概要:応用として、リモートのLinuxサーバーにGitをインストールして、上記で既に作成したローカルマシンのリポジトリをリモートに送信する。
大まかな流れ:
1.CentOSにGitをインストール。
2.デスクトップからTortoiseGitを使ってリポジトリを送信。(プッシュ)
3.動作確認としてローカルのプロジェクトを削除して、リモートから復元してみる。(プル)
4.動作確認としてローカルのプロジェクトを更新して、リモートに反映させる。(プッシュ)
手順1.CentOSにGitをインストール。
以下、TeraTermでリモートサーバに接続してからの作業となる。
俺のCentOSには、yumでのGitの取得先が登録されていないのでGitの取得先を登録する。
下記の内容のファイルを作成して、/etc/yum.repos.d/に配置する。
ファイル名:rpmforge.repo
[rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge enabled = 0 gpgcheck = 0
yumコマンドでGitのインストール。
yum install git --enablerepo=rpmforge
Gitの初期設定はWindows7のときと同じ要領。
> git --version > git config --global user.name [YOUR NAME] > git config --global user.email [YOUR EMAIL] > git config --global color.ui "auto" > git config --list
デスクトップで作成したリポジトリと同じ名前のディレクトリを作成。
mkDir /var/git/myrepo.git
作成したディレクトリの中に入って、Gitのリポジトリ作成コマンドをたたく。
cd /var/git/myrepo.git git init --bare --shared=true
リモートサーバでの作業は以上となる。
手順2.デスクトップからTortoiseGitを使ってリポジトリを送信。(プッシュ)
リポジトリに指定したフォルダを右クリックして、TortoiseGitからリモートにリポジトリを送信する。(これをプッシュという)
リモートに接続するためのプロトコルは下記のとおり。
ssh://[LOGINUSER]@[YOUR.SERVER]:[PORT]/var/git/myrepo.git
[LOGINUSER]:sshで接続するときのユーザ[YOUR.SERVER]:サーバのドメイン名かIPアドレス
[PORT]:SSHの接続ポートだが、SSHのポートを変えてないなら省略しても問題ない
以上、送信が成功したら、プッシュなり、プルなり、いろいろと試してみると良い。この辺はいじって覚えたほうが早いからね。
手順3.動作確認としてローカルのプロジェクトを削除して、リモートから復元してみる。(プル)
省略
手順4.動作確認としてローカルのプロジェクトを更新して、リモートに反映させる。(プッシュ)
省略
あとは、ノートパソコンのセッティングは、デスクトップと同じだ。
TortoiseGitでリモートサーバに接続するための呪文さえ覚えれば、複数マシンでの分散バージョン管理の出来上がりである。
リモートに接続するための呪文再掲。
ssh://[LOGINUSER]@[YOUR.SERVER]:[PORT]/var/git/myrepo.git