昨日まで動いてたのに、今日になったらゲームが動かなくなっちゃった・・・昨日の断面に戻れたらいいのに~もう終わりだ...
こんなことにならないよう、プロジェクトのバージョン管理をしよう!!
本記事の内容
・プロジェクトのバージョン管理のメリット
・プロジェクトのバージョンのキホン
・GitHubのアカウント作成とバージョン管理をカンタンにしてくれるSourceTreeのインストール方法
※この記事は連載記事です。SourceTreeの具体的な使い方は次回の記事を参照ください。
プロジェクトのバージョン管理していますか?
GitとGitHubを使えば、バージョン管理やプロジェクトの共有が可能に!
ゲーム開発には時間がかかります。開発が進んでくるにつれ、原因不明のバグが起きたりもします。
昨日時点はどうだったけ?と確認したいときや、バグの原因が分からず「あ~、もうどうやっても直らない!」
となった時に、最初からやり直す訳にはいかないですよね?
また、ゲームを開発する時に複数人でプロジェクトを進めるとなったら、プロジェクトメンバー同士で内容を共有したいですよね。
そうした、プロジェクトの共有や、プロジェクトのバックアップを行うためのシステムがあります。
それがGit・GitHubです。世の中のシステム開発に携わるほとんどの人間が使っているツールですので、使い方を覚えておくと、色々と役立ちます。
私もこれまで開発をしてみて、何度もGit/Git Hubに助けられて来ました。
急にゲームが全く動かなくなったので、前のバージョンを戻したり、Windowsで開発したプロジェクトをMacのPCに共有して、Macから起動出来るか確認をしたり。
もしくは他人のプロジェクトを自分のPCに落としてきたり。
ぜひ、Git/Git Hubを使って、プロジェクト管理をしてみてください!
なんだか難しそう・・・いや、SourceTreeならカンタン!
一般的には、Gitを使うにはコマンドプロンプト(Macだとターミナル)という真っ黒な画面を開いて、コマンドを覚えて打ち込む必要があり、少し敷居が高い印象があります。
ですが、その敷居を下げてくれるツール、それがSourceTreeです。
コマンドを覚えたり打ち込んだりせず、ボタンをポチポチ押していくだけで、プロジェクトのバージョン管理が出来るという、初心者に優しいツールです。
しかも、無料です。
もちろん、通常のGitの使い方と同様に、コマンドプロンプトからコードを実行することも可能です。
SourceTreeを使ってGitを扱い、プロジェクトを管理していく方法について解説します。
Git/Git Hubを使ったバージョン管理の流れ
実際のツールのインストールの前に、まずはGit/Git Hubを使ったプロジェクト管理の概念について理解していきましょう。
基本的なGit/Git Hubを使ったプロジェクト管理の流れとしては、以下の通りです。
ローカルで作業 > リモートに最新断面をアップロード > リモートから断面のデータを取得
まずは、ローカルで作業 > リモートに最新断面をアップロード について、Gi/GitHubを使う流れを図解します。
【新規】とあるのはプロジェクト開始時に新規でファイルを作る時の流れです。
【内容更新】とあるのは、作成したファイルを更新する時の流れです。
「リポジトリ」とは、プロジェクトのファイルを管理しているフォルダのイメージです。
まずは【新規】でプロジェクトを作成する時の流れについて見ていきます。
【新規】でプロジェクトを立ち上げた場合、Unity側でプロジェクトファイルを作成し、その内容をローカルリポジトリにコピーします。これをコミットといいます。(左から真ん中にファイルをコピーするイメージ)
そしてローカルリポジトリにあるデータをGitHubのリモートリポジトリにアップロードして、バックアップデータをリモート(Web上)サーバに格納します。これをプッシュといいます。(真ん中から右に移動するイメージ)
次に、作成したファイルを今度は【内容更新】する場合。
プロジェクトファイル上では、Unity側などで新たに作成ファイルを作成したり、ファイルを修正したり、ファイルを削除したりしますよね。
コミットを行うと、前回コミットした時からの変化点を取得し、ローカルリポジトリに保存します。
そして、ローカルリポジトリの内容を、リモートリポジトリ(Web)にアップロードするのがプッシュです。
ここまでが、リモートへのファイルをアップロードする流れでした。
つぎに、リモートから断面のデータを取得する流れについてです。
個人で開発している場合だと、過去の断面のデータに戻したい時や、WindowsのPCで作業した内容をMacのPCで確認する場合などに使います。
プロジェクトメンバーが複数いる場合では、他の人がプッシュした(更新した)内容を取得して、プロジェクトファイルを最新化する時に使います。
図解にあるとおり、リモートリポジトリの内容を取得したい場合は、まず「フェッチ」というコマンドを使い、リモートリポジトリの内容をローカルに取得します。
しかし、これだけだとプロジェクトワークファイルの内容は変わりません。
なぜなら、リモートリポジトリと、プロジェクトワークファイルの作業内容に違いがある場合、両方をマージ(統合)する必要があるからです。
そこで、「マージ」というコマンドを使うと、リモートリポジトリと、プロジェクトワークファイルの現在の作業内容をマージしてくれます。
マージ内容に競合がなければ、そのままプロジェクトのワークファイルの内容と、リモートリポジトリの内容がマージされ、ワークファイルに反映されます。
また、本当に何をやっても直らず、完全に過去の断面に戻したい!となった場合は、過去のコミットまでリセットすることも可能です。これは最後の手段なので、相当のことが起きない限り使うことはないでしょう。
ここまでがGitを使ったプロジェクトのバージョン管理の基本です。
ほかにも重要な概念(開発用のブランチを切る、プル、Headなど)はあるのですが、最低限ここまで理解しておけば、プロジェクトのバックアップを取ることまでは出来ます。
Gitは、それだけで一冊の本が出てるくらい奥が深いので、興味があれば調べてみてください。
前置きが長くなってしまいましたが、これらのツールを使うために必要なアカウントの作成、ツールのインストールをしていきましょう。
GitとSourceTreeの導入 手順概要
- GitHubのアカウントを作成する
- Gitをインストールする
- SourceTreeをインストールする
GitHubのアカウントを作成する
まずは、GitHubのアカウントを作成します。こちらのリンクから、GitHubのTopページに飛びましょう。
まずは、Email addressを登録して、Sign up for GitHubボタンから、メールアドレス、パスワードを入れてアカウントを作成しましょう。
すると、登録したメールアドレスに認証番号が届くので、認証番号を入力します。その後の質問は、適当に回答しても問題ありません。
プランはFreeを選択しましょう。
個人や小規模なチーム開発であれば、Free版で困ることはほとんど無いと思います。
無料版と有料版の違いが気になる方はこちらのページからどうぞ。
登録が完了すると、登録したメールアドレス宛にメールが来ますので確認しておきましょう。
これでGitHubの登録は完了です。
Gitのインストール
これまで説明したとおり、最終的に利用するSourceTreeというツールは、Gitというサービスを使いやすくするためのツールで、実際に実行されている処理はGitを通じて実行されます。
つまり、SourceTreeを使用するには、Git自体をインストールしておく必要があります。(SourceTreeのインストール時に、Gitがインストールされていないと自動でインストールしてくれる場合もあるそうです)。
Git自体はこちらから無料でダウンロード出来ます。
具体的なインストール手順は、こちらが参考になります。まあ、Next連打で問題ないです。
SourceTreeのインストール
Gitのインストールが終わったらSourceTreeのソフトをダウンロードします。こちらも無料ですので安心してください。
SourceTreeの公式サイトに行き、右上の「DownLoad Free」ボタンからダウンロードします。
ダウンロードが完了したらダウンロードしたexeファイルをダブルクリックします。ここからは基本的にはひたすらNextを押していくだけでOKです。
何を入れるか迷いそうな箇所だけ、以下にまとめました。
・インストール時にBitBucketのアカウント作成を求められる場合は、Noで問題ありません。
SourceTreeを提供している会社が提供しているサービスのアカウント作成なので不要です。
・SSHキーの読み込みを聞かれた場合、こちらもNoで問題ありません。
インストール時のもっと具体的な内容が知りたい場合は以下のページがオススメです。
まとめ
今回はプロジェクトのバージョン管理の下準備(一度実施したら2回目以降は不要)の解説記事でした。
次回から実際にプロジェクトの内容を管理していく具体的な方法を解説してきます!
次回の記事は以下からご覧ください。
それでは素敵なゲーム制作ライフを!
コメント