simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

GitHub DesktopでUnityプロジェクトのバージョン管理(初心者向け)

ゲーム作りをまじめに始めることにしたので、ソースコードのバージョン管理をしていきます。
選択肢はいろいろありますが、慣れ親しんだツールを用いたいので、GitHubを使います。

どういうものかはいろいろなサイトがやさしくまとめてくれていますので
github とは - Google 検索
ここでは、実際に行った作業ログだけ残します。

Windows 環境なので、まずは Git for Windows をダウンロードしてインストール
git-for-windows.github.io

これで、どのフォルダでも GitBush なるコンソール画面にて git コマンドを打てるようになります。
右クリックのコンテキストメニューから GitBush を選べるようになっているはず。
試しに git init を打つと、git リポジトリとして初期化してくれるでしょう。

さて、次に GUI ツールとして GitHub Desktop を導入します。
desktop.github.com
Windows用のダウンロード、インストールを終えましたら
GitHub アカウントを記入して開始します。

まだ GitHub アカウントを取得していない場合は、こちらで Sign up を完了させてください。
github.com

簡単な使い方だけ示しておきます。

ローカルファイルをバージョン管理に追加

まずは、適当に Unity プロジェクトを作ります。
Assets フォルダが置かれているパスをカレントに GitBush を起動して git init します。
これでローカルリポジトリの完成です。
加えて、リモート管理用に無視リストを配置しておきましょう。
.gitignore テキストファイルを作り
下記のテキスト内容を書き込んでおきます。

/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/Assets/AssetStoreTools*

# Visual Studio 2015 cache directory
/.vs/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb

# Unity3D generated meta files
*.pidb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage
空のリモートリポジトリの作成

次の GitHub のページに行き、リモートリポジトリを作成します。
https://github.com/

注意点として、まったくの空っぽのリポジトリとします。
これで、リモートリポジトリのアドレスだけが用意されました。

ローカルとリモートの統合処理

空のリモートリポジトリを作成したときに、すでにそのリポジトリに案内が書かれていると思いますが
ローカルでまずはコミットまで行ってしまいましょう。

GitHub Desktop を起動して、File メニューより、Add Local Repository より、さっき git init したフォルダを選択します。
.gitignore テキストファイルが有効に機能していれば Library などの重たいファイルはリモート管理対象から外されているはずです。
ここまで確認できたら、GitHub Desktop の master へ commit ボタンを押してファイルをローカルリポジトリにコミットします。

続いて、空のリモートリポジトリのページに書かれている remote add コマンドを git init を行った時と同じプロンプトに書き込んで実行します。
git remote add origin https://github.com/*****/*******.git

あとは、次の push コマンドを実行することで、リモートに完全に情報がアップロードされます。(初回だけアップ先リポジトリGitHub アカウント情報を記入するポップアップダイアログが出る)
git push -u origin master

これで Unity プロジェクトは、皆さんと共有できる形で GitHub にアップロードされました。

github.com

おまけとして、README.md のマークダウン方式の記入方法を示します。

# RandomMapMaker

Main image  

![title](doc/main_image.jpg "alt")  

Unity 2017.1.1f1(64bit) Project  

# Scenes

それぞれの Unity シーンの説明  

- RandomMap  
![title](doc/main_image.jpg "alt")  

パーリンノイズを用いてキューブを敷き詰めるマップを生成  
Unityで async/await を使ったスレッド操作スクリプトをテスト  
(別スレッドにて 10000 ループを終えたのち、マップオブジェクトをx方向へ大きく移動させる)  

- HexPrism  
![title2](doc/hex_prism.jpg "alt2")  

頂点情報、インデックスリスト、UV値、テクスチャマテリアルをすべてスクリプトから生成してメッシュモデルを構築・表示するシーン  
(全頂点情報はモデリングツールを使わずに、頭の中で考えながら手書きにより作り出されたものです)  

覚えづらいのは改行のために半角スペースが2連続行末に必要ということと
画像を挿入する書式→ ![画像id](イメージファイル相対パス "マウスオーバー文字")
おぼえづらい!ので、思い出せなくなったらこのページに来て、コピペする!


以上、初めての Unity GitHub Desktop でバージョン管理でした!