12/08/2018, 15:14

Day 15~16 - About GitHub

昨日は体調不良により更新が出来ませんでした。 今日の記事は昨日やったことと、今日やったことの集大成であるGitHubでのUnityプロジェクトのプッシュについてです。 GitHub まず、GitHubについてです。 僕もスペースシューターをネット上に公開する時に使ったことはあるのですが GitHubって何なの?と聞かれると説明出来ない現状なので、学習がてら概要を。 http://github.com/ GitのHubでGitHub。Gitの中心…集まるところってことですね。 Gitを利用してインターネット上にプログラムなどを保存して公開出来るサービスです ...

昨日は体調不良により更新が出来ませんでした。 今日の記事は昨日やったことと、今日やったことの集大成であるGitHubでのUnityプロジェクトのプッシュについてです。

GitHub

まず、GitHubについてです。 僕もスペースシューターをネット上に公開する時に使ったことはあるのですが GitHubって何なの?と聞かれると説明出来ない現状なので、学習がてら概要を。

http://github.com/

GitのHubでGitHub。Gitの中心…集まるところってことですね。 Gitを利用してインターネット上にプログラムなどを保存して公開出来るサービスです。

Git

はい。 Gitって何なの?ですね。 わかりやすいGitとかいうサイトでもよく分からない…

自分なりに解釈した結果が

Gitというのはプログラム等のファイルの変更を記録して、管理出来るシステムのこと ローカルに、ファイルの変更履歴を保存しておけるらしい。

つまりは、この前僕が作ったゲームの制作過程で活用したい場合は

①ver1.0が完成したぞ、次はver1.1を作ろう ②でも、万が一バグが起きてファイルが復元出来なくなったらどうしよう ③Gitを使ってver1.0時点でのファイル状態を保存しておこう ④万が一バグが起きても復元できるので、安心してver1.1が作れる

って感じですかね? verごとに保存しておいて、あのバージョンの時点から別のゲームとして作るとか出来そうですね。 そういえば、僕がゲームを作った時はローカルに手動で最新のコピーを保存してるという方法をとってました。 とりあえず今僕が感じるメリットはこのぐらいです。

さて、ではGitHubでは何が出来るの?という話ですね。 先程説明した通り、GitHubはインターネット上でGitを扱えるサービス。 ネット上で扱ってどんなメリットがあるんだろう?

Gitはコマンドラインツールを用いて扱いますが、GitHubではクリックしてファイルの操作なとが出来たり、ネット上に転がってるよさげなプログラムを自分の所にコピー出来たり… うーん、色々有るみたいだけどやっぱり実際に使ってみてメリットを感じる方が自分には性にあってますね。

Try

前に作ったゲームをGitHubにプッシュしようとしたのですが、失敗してしまい上手くプッシュ出来ませんでした。 もう一度最初から試してみましょう。

前準備等はこちらのページを参考に行いました。

http://qiita.com/hkomo746/items/a6dfa76442a474dfdf3a

メニュー「Edit」→「Project Settings」→「Editor」 Inspectorビューの Editor Settings を設定する Version Control の Mode を Visible Meta Files に変更する Asset Serialization の Mode を Force Text に変更する

では、GitHub Desktopを用いてUnityのプロジェクトをネット上に公開してみます。 プロジェクトのフォルダとは又別の場所にUnityGitというファイルを作りました。 その中に適当な名前をつけたレポジトリを作ります。(今回は1stGameという名前)

作成した直後の画面はこんな感じです。 次に、右上にある歯車マークをクリックして「Open in Explorer」を選択するとフォルダが開くので その場所にUnityのプロジェクトのコピーをぶっこんでやります。

gitignore

以前はこの時点でエラーを吐かれていたのですが… 結構時間がかかったけど、どうやらすんなり行ってしまった模様。

なぜ前はエラーを吐かれたんだろう? そういえば、以前やった時には「.gitignore」ファイルの設定をせずにプッシュをしようとしていました。 gitignoreっていうのは文字通りで「これは無視していいよ」っていうものを指定してあげるファイルです。

正しいgitignoreの内容

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

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

# Unity3D generated meta files
*.pidb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

以前の僕は、無視せずに全ファイルをGitHubに上げろ!(48000ファイル)っていう指示を出していたのに対して 今回はちゃんと、必要なファイルだけを上げろ(500ファイル)っていう指示になっています。

ファイルが多すぎだと文句言われて上手く動いていなかったんだと予想。 何にせよちゃんと動いたのでよかった。

んで、そのレポジトリはこちらから。 https://github.com/katsusand1208/1stGame

result

gitignoreをきちんと設定することによってUnityプロジェクトのプッシュが出来るようになりました。 これからは、ゲームを作ったらGitHub上にバージョンごとに公開していこうと思います。 今日はここまで。

0