UE4のプロジェクトを複数人で開発するためGitHubで管理する

UE4で誰かと一緒にゲーム開発をしよう、といった時にメンバーそれぞれの変更箇所をコミットしたりマージしたり、変更履歴みたりしたいと思うのでGitHubを使おうと思いました。UE4開発用のGitHubの準備手順を軽くメモっときます。
※画像はクリックで拡大できます
GitHubアカウントの登録とGitHub Desktopのインストール
GitHubを使用するためにGitHubのサイトでアカウントを取得しときます。
プロジェクトを管理するリポジトリの作成や、変更をコミットするのにコンソールでコマンドを叩いて行う方法が一般的だったりするかもしれませんが、分かり易さ重視でGitHub Desktopを使用します。
リポジトリーの作成
GitHub Desktopをダウンロードしてインストールしたら、早速起動します。起動すると左からそれぞれ、「Create new repository」、「Add local repository」、「Clone a repository」とボタンが並んでますので、Create new repositoryを押してリポジトリ作成します。
ボタンを押すとリポジトリ作成の設定画面が出るので、Nameにリポジトリ名とDescriptionに適当な説明(あれば)、Local pathはUE4のプロジェクトを扱うため、UE4のプロジェクトが作成されるUnreal Projectsフォルダを指定します。
「Initialize this repository with a README」のチェックボックスは、後からでも必要であればREADMEファイルは作れるようなのでOFFのままにしました。
Git ignoreはUE4用に後で全て書き換えますが、とりあえずC++でも設定して作成しときます。Licenseはソースコードの改変とか望んでなければNoneで良いらしいのでNoneにします。
設定ができたら、Create repositoryボタンを押します。
リポジトリの作成が完了したらローカルの指定した場所にGitHubに対応したディレクトリが作成されるので、右上のPublish repositoryボタンを押してGitHubに反映させます。
今度は反映させる設定が出るので、有料会員しか設定できない「Keep this code private」のチェックボックスを外して「Publish repository」ボタンを押します。
GitHubのサイトに行ってログインすると、先ほど作成したリポジトリが反映されている事が確認できます。
リポジトリの作成が完了したので、先ほど作成したローカル側ディレクトリの中の.gitignoreファイルをUE4プロジェクト用に書き換えます。GitHubには1ファイル100MBを超える物は上げられないという制約があるので、キャラクターのアセットファイル等、重いファイルはGitHub上には上がらないようにします。また、ビルドで生成されるファイル等、共有する必要の無いファイルに関しても無視するように設定します。
記述内容に関しては、UE4用の.gitignoreファイルがGitHubから公開されているので、そこからコピペします。
.gitignoreファイルを書き換えると、早速GitHub Desktopが変更を検出するので、.gitignoreファイルを「Commit to master」ボタンでコミットし、「Fetch origin」でGitHub上に反映します。
後は作成したディレクトリ内にUE4のプロジェクトファイルを一式移すか、その中にプロジェクトを作成して、GitHub Desktopで再び「Commit to master」ボタンでコミットし、「Fetch origin」でGitHub上に反映するという流れです。これでUE4プロジェクトのリポジトリは完成しました。GitHub上の作成したリポジトリ名をクリックする事で、.gitignoreで選定されたファイルがGitHub上にある事が確認できます。
作業メンバーには、このリポジトリを「Unreal Projects」フォルダ直下に「Clone repository」して貰い、足りないアセットファイルやフォルダを補充して開発環境を同じにする事で共同開発ができるかと思います。
リポジトリへのメンバー追加は、該当リポジトリ画面のSettings→CollaboratorsにメンバーのGitHubアカウント名かメールアドレスを入力して追加申請する事ができます。
設定したものの、GItHubの1ファイル100MB制限やら1GB全体容量の推奨であったりと、色々気になる事があり、メンバー間のアセットを合わせたりするのにクローンしてそのままという訳にいかないのが悩みどころだったりしてます(汗。何か上手くやる方法があったりするのか気になっているこの頃・・・・。
ディスカッション
コメント一覧
まだ、コメントがありません