ソースを利用する最大のメリットの一つは、Epic のチームが Unreal Engine (UE) に追加した最新の改善点と機能をいつでも利用できることにあります。Epic では、ソース コードに変更を加え、新しい公式リリースの公開時に「Unreal Engine の GitHub リポジトリ」のさまざまなブランチを継続的に更新しています。新しい公式リリースが公開されたときや、ニーズに関連するアップデートが公開されたときに、こうした変更を定期的に取得することをお勧めします。
このページでは、フォークのブランチを更新する 2 つの方法を紹介します。これらの方法を使うことで、Unreal Engine のメイン リポジトリに加えられた最新の変更を反映できます。
Upstream リモートを利用する
この方法では、Epic Games のオリジナルの Unreal Engine リポジトリを、自分のフォークのローカル コピーに新しいリモート リポジトリとして追加します。通常、これは upstream リモート と呼ばれます。upstream リモートの変更をローカルのブランチにプルすると、その変更を GitHub 上の自分のフォークにプッシュできます。これは origin リモート と呼ばれます。
以下で説明する GitHub のプルリクエストを使用する方法よりも初めのうちは難しいように思えるかもしれませんが、こちらの方法を推奨します。この方法には、いくつかのメリットがあります。
upstream リモートを一度設定すれば、フォークの同じローカル クローンを使い続ける限り、再設定を行う必要がありません。これにより、プロジェクトに合わせて必要に応じた頻度で、すばやく簡単に変更を取得できるため便利です。
フォークを更新するために GitHub でプルリクエストを使用すると、そのたびにブランチに新しいコミットを作成し、プロジェクトの履歴に新しいプルリクエストを作成することになります。通常、これは問題にはなりませんが、不要な登録は行わないことをお勧めします。
以下では、Git のコマンドライン ツールを使って新しいリモート リポジトリを追加し、変更を取得する方法を説明します。グラフィカル ユーザー インターフェース (GUI) Git クライアントを使っている場合もステップはほぼ同じです。詳細については、お使いのツールのドキュメントを参照してください。
「GitHub Desktop」を使用すると、フォークをクローンしたときに upstream リモートが自動的に作成されます。upstream ブランチの変更をローカルのブランチにマージして、次にその変更を origin リポジトリにプッシュするだけで済みます。
Upstream リモートを設定する
まだ行ってない場合は、自分のコンピュータにフォークをクローンします。
コマンド プロンプトを開き、リポジトリが格納されているフォルダに移動します。
次のコマンドを使用して、ベースとなる Epic Games リポジトリを新しいリモート リポジトリ「
upstream
」として追加します。> git remote add upstream https://github.com/EpicGames/UnrealEngine
変更をフォークに取り込む
更新するブランチをチェックアウトします。その例を以下に示します。
> git checkout ue5-main
upstream リモートからの変更をローカルのブランチにプルします。
> git fetch upstream > git merge upstream/ue5-main
変更を origin リモートにプッシュします。
> git push origin ue5-main
GitHub のプルリクエストを使用する
Web ブラウザで GitHub にアクセスして、自分のリポジトリのホームページに移動します。通常は
https://github.com/<USERNAME>/UnrealEngine
の形式で、<USERNAME>
には GitHub のユーザー名を指定します。[Branch (ブランチ)] メニューから、更新するブランチを選択します。Epic Games の Unreal Engine GitHub ページ「
README.md
」には使用可能なブランチの情報が含まれています。通常は、フォーク内のこのブランチに変更を加えていなければ、GitHub によって、ユーザーのリポジトリにあるすべてのコミットがすでに Epic Games リポジトリに存在することが通知されます。
[Sync Fork (フォークを同期)] を選択すると、まだユーザーのフォークに同期されていない Epic Games リポジトリに含まれるすべての変更が通知されます。変更の詳細を確認するには [Compare (比較)] をクリックします。
フォークに変更がないことがわかっており、Epic Games リポジトリの同期可能な変更を確認する必要がなく、単にすべての最新の変更に更新したい場合は [Update Branch (ブランチを更新)] をクリックします。
[Compare] を選択すると、GitHub により、Epic Games リポジトリには存在するものの、ユーザーのフォークには含まれていないコミットが表示されます。変更にコンフリクトがない場合は、ブランチが自動的にマージされます。 変更のマージ プロセスを開始するには、[Create Pull Request (プルリクエストを作成)] をクリックします。
プルリクエストで更新するブランチに関する簡潔な説明を入力します。完了したら [Create Pull Request] をクリックします。
このプルリクエストに含まれる変更が GitHub に表示されます。変更リストの下にある [Merge Pull Request (プルリクエストをマージ)] をクリックします。
[Confirm Merge (マージを確認)] をクリックします。
マージが完了すると、GitHub でフォークのブランチが最新になります。これで、Git のコマンドライン ツールまたは任意のビジュアル ツールを使ってブランチをチェックアウトし、最新の変更をローカル コンピュータにプルできます。