Chapter 34

UE5(UE4)とGitHubでバージョン管理する方法

daichi_gamedev
daichi_gamedev
2021.11.04に更新

今回GitHubとUE5とで、バージョン管理を行う手順を解説します。UE4でも同じようにできます。まずはバージョン管理について軽く触れようと思います。

バージョン管理を行うと出来る事

GitHubと連携するとUnrealEngineで作ったゲームのバージョン管理ができます。例えば

・バックアップとしてデータを保存しておきたい
・クラッシュによるデータ破損対策
・過去に作っていたバージョンに戻したい
・チームでプロジェクトを共有したい

といった場合にバージョン管理を行えば全て解決します。

環境構築がめんどくさそうと思うかもしれませんが、スムーズにいけば30分~60分で完了します。
加えてゲームを開発するにあたってバージョン管理は必須なので、今回はバージョン管理をする方法を解説します。

バージョン管理はGitHubかPerfoceがおすすめ

今回はGithubの使い方を紹介しますが、Perforceも軽く説明します。
まずGitHubは最も使われてるバージョン管理システムで、非常に使いやすいため個人であればGitHubを使うのが基本になります。
一方Perforceはデータのサイズをかなり減らしたまま保存できたり、動作が高速だったりするためGitHubの上位互換となりますが有料です。PerForceは知名度こそ低いもののスクエニ、ソニー、EA、サムスンなどに導入実績があります。

選び方としては個人開発ではGitHub,大規模開発ならPerforceがおすすめです。

今回紹介するGitHubについて


「GitHub」とはGitを利用したプログラムのバージョン管理を行うウェブサービスです。以下の制限があります。

・1プッシュ2GBの制限
・1ファイルあたり100MBまで(ほとんど100MBは超える事は少ない。超えた場合はGitLFSを使えばよい。GitLFSは無料だと容量は1GBまで保存可能)
・容量の制限は一応ない

このGitHubと連携を行うとUnrealEngineとのバージョン管理ができるよになります。

GitHubとの連携手順

では、GitHubとの連携手順を解説していきます。

①Gitをダウンロードする

Git公式サイトへ言ってDonwloadを押します。

Only show optionsのチェックを外してNextをクリックしまくります。設定はそのままで構いません。保存場所は必要な場合は指定してください。

最後にInstallして完了です。

②GitLFSをダウンロードする

GitLFSとは大きなファイルを保存する用のサービスです。必須ではありませんが、便利なのでダウンロードしておきます。GitLFS

③GitBashからGitLFSをインストールします

先ほどのGitをダウンロードしたフォルダの中にgitbashアプリが入っています。

起動します。git lfs installと打ってエンター。コピペするなら右クリックからペースト

④GitHub Desktopをダウンロードします。

GitHub Desktopをダウンロードします。まだGitHubアカウントを作成していない方は作成しておきましょう。

アプリを開いてFile > Options

ここでアカウントのサインインなど設定ができます。

⑤UnrealEngineを開いて連携します。

UE5でやりますが、UE4でも同じようにできます。UE5を開いて右下SourceControllをクリック。UE4は上のメインツールバーにあります。

Gitを選択。betaとなっていますが問題なく使えます。

Gitのパスを選択します。私の場合はC:\Program Files\Git\bin\git.exeにありました。

Initialize prijectをクリック

Acceptをクリック

⑥GitHubDesktopからコミット&プッシュします。

まずはローカルレポジトリを作成します。Add local repositoryを選択して、UnrealEngineのプロジェクトフォルダを指定します。


フォルダはContentを内包している、例えばここ👇ではLFというフォルダの事をさします。

Publish repositoryでGitHubでリモートリポジトリを作成します。

Nameにはゲームの名前、Kepp this code privte(非公開設定にする)にチェックを入れてPublishrepositoryをクリックします。

ではコミットします。左下のSummaryにコミットがどんなコミットなのかわかりやすいように記入して、Commitをクリック。

プッシュします。

GitHubにログインして確認します。

ファイルがアップロードされているのが確認できます。

後はきりが良い時にコミット&プッシュでGitHubにアップロードしていきましょう。いつでもこれで過去のバージョンに戻したり、共有できたり、ダウンロードできるようになりました。

プッシュがうまくいかない場合

1プッシュあたり2GBを越している場合はエラーを吐きます。その場合は一度プロジェクトを作成して元のプロジェクトから少しずつデータをMigrateで移行させていって細かくコミットプッシュしていくしかないと思います。

また、基本的には少ないケースですが1ファイルあたり100MBを越した場合も無理なので削除してしまうか、GitLFSを使用しましょう。

過去のバージョンに戻したい時

過去のバージョンに戻してデータを復元するのですが、初めてやる場合はプロジェクトを新規作成してそのプロジェクトで試された方が良いです。
①GitHubDesktopからHistoryを開いて戻したいバージョンを右クリックからCopy

②Open in command promptでひらきます。

③コマンドを入力
git reset --hard xxxxx と打ちます。xxxxxに先ほどコピーしたものをはります。

④UnrealEngineを再起動するとバージョンが戻ります。

zipまたはクローンでプロジェクトをダウンロードできます。

GitHubからZipでプロジェクト丸ごとダウンロードできます。

またはGitHubDesktopからクローンしてローカルリポジトリを作成できます。


記事は以上です。

参考になる動画

https://www.youtube.com/watch?v=FXMTHrLWFKQ

https://www.youtube.com/watch?v=F5Yn7y9Ib_I&t=545s

著者コメント
エンジニアであればGitは必ず通る道なので、これからの方は地道にGitの単語などを勉強しつつUEのバージョン管理をしていきましょう。正直めんどくさいですが、一度環境を整えれば後はもう楽なので頑張って済ませてしまいましょう。これでゲームのバックアップをとる事ができました。お疲れさまでした😓