[Unity] GitHub for Unity 導入

前回の「Unity5 3D/2D ゲーム開発 実践入門」CHAPTER3 で作ったゲームだが、ただサンプル通りに作って終わりでは芸が無いので、ちょっと改造したいところ。
ただ、アレコレやってソースコードがグチャグチャになったりした時、一旦元の状態に戻したい、ということは多々ある。
ってことで、やっぱりプロジェクトはバージョン管理したいのが人情というもの。
ただ、Unity のプロジェクトを何も考えずにそのまま git add . してしまうと、管理不要なファイルまでゴッソリ登録されてしまい、面倒なことになる。
ってことで、GitHub が Unity 用の .gitignore ファイルを公開しているので、それを拾おうと思ってググってたら、何と GitHub for Unity なる Asset が GitHub から公式にリリースされているという情報を発見
ってことで早速導入してみた。

Unity Editor の Asset Store で「github」で検索すると「GitHub for Unity」が一番最初に出てくる。
スクリーンショット 2019-05-08 17.10.32.png
GitHub for Unity のページから、早速ダウンロード。
スクリーンショット 2019-05-08 17.11.09.png
利用規約が表示されるので、よく読んだ上で同意できれば Accept。
スクリーンショット 2019-05-08 17.11.16.png
ダウンロードが完了したらインポート。
スクリーンショット 2019-05-08 17.11.50.png
インポートされるパッケージの内容が表示される。
基本的には何もいじらずにこのまま Import をクリック。
スクリーンショット 2019-05-08 17.12.13.png
すると、Asset Store で公開されているものよりも新しいバージョンがリリースされているとのことで、ここでは「Download new version」をクリックし、パッケージファイルをどこか適当なディレクトリにダウンロード。
スクリーンショット 2019-05-08 17.13.35.png
Unity Editor のメニューから Assets → Import Package → Custom Package... を選択し、
スクリーンショット 2019-05-08 17.16.15.png

先程ダウンロードしたパッケージファイルを選択。
スクリーンショット 2019-05-08 17.16.55.png
先程と同様、インポートされるパッケージの内容が表示されるので、このまま Import をクリック。
スクリーンショット 2019-05-08 17.17.10.png

インポートが無事完了したら、Unity Editor の Window → GitHub を選択。
GitHub タブが Editor 右側に表示される。
Settings を見ると、~/.gitconfig が存在していればそこからグローバル設定を読み込んでいる模様。
また、親切にも Git LFS が /Users/{ユーザー名}/Library/Application Support/GitHubUnity/git-lfs にインストールされていた。
まだ Git LFS 使ったことないので、これを機に使ってみよう。
スクリーンショット 2019-05-08 17.19.44.png
まだプロジェクトは git で管理されていないので、Initialize を開き、「Initialize a git repository for this project」をクリックして git 管理を開始する。
スクリーンショット 2019-05-08 19.21.19.png

すると git init の後、.gitignore、.gitattributes、Assets/.gitignore の3ファイルが commit される。
スクリーンショット 2019-05-08 19.21.38.png
この時 commit される .gitignore の内容は以下の通り。

また .gitattributes は以下の内容。
どうやら Unity で使用可能なバイナリファイルは全て Git LFS で管理するよう、予め設定してくれるようだ。
また、Assets/.gitignore は中身は空だった。

ところで、ここで Changes を開くと、プロジェクト内の未コミットのファイルが大量に出てくるはずなのだが、何故か1ファイルも出てこない。
SourceTree だとちゃんと出てくるのに。
.gitignore の設定を眺めてみても、特に不審な点は見当たらず。
ただ、*.symbols.zip とか、iOS ビルド時に生成されるフォルダは管理下に置く必要ないよなぁと思って .gitignore に追加したら、 
スクリーンショット 2019-05-08 19.55.22.png
出てきた!!w
理由がよく分からん(iOS ビルド時のフォルダ名がプロジェクトのフォルダ名と同じにしたから?)ものの、ひとまず commit できるように。

あとはこんな感じで branch 切ったりできるし、
スクリーンショット 2019-05-08 19.28.36.png
スクリーンショット 2019-05-08 19.28.48.png

Sign in ボタンで GitHub にサインインすることもできる。
スクリーンショット 2019-05-08 19.34.04.png
2段階認証も問題無くいけた。
スクリーンショット 2019-05-08 19.34.18.png
リモートへのアクセスについても、
スクリーンショット 2019-05-09 20.06.15.png

問題なし!
スクリーンショット 2019-05-09 20.07.14.png
他にも revert とか、git クライアントとしては最低限必要な機能は備えているので、使えそうな感じではあるが、如何せんめちゃくちゃ不安定だ。
何しろ GitHub タブを開いた状態のまま、ちょっと .cs ファイルを外部で変更したりしただけで、即 Unity Editor がクラッシュしてしまう。
自分の環境だけの問題なのかも知れないが、これではちょっと使い続ける気はしない。
GitHub タブ閉じておけば一応クラッシュはしないようではあるが、それだったら SourceTree でもいいわけで。

とにかくクラッシュしにくくしてくれれば、非プログラマな人にオススメしやすくなるので、今後のアップデートに期待。

この記事へのコメント