ソース管理で無視できるUnreal Engine 4プロジェクトファイルはどれですか?


30

Unreal Engine 4プロジェクトをgitでソース管理下に置きたいです。(エディターがPerforceおよびSubversionをサポートしていることは知っていますが、それらは気にしません。)

リポジトリにはどのフォルダーとファイルを含めますか、どれを無視できますか?

私はそれを参照してください方法は、以下が必要です:ConfigContentSource*.sln*.uproject

私は無視することができるというもの:BinariesDerivedDataCacheIntermediateSaved*.suo*.sdf*.opensdf

これは正しいです?


2
.slnがある場合、通常は.vXX.suoファイル(通常は非表示)がありますが、これにはユーザー固有のオプションが含まれているため、無視することができます。
ジョシュ

2
Githubはさまざまなプロジェクトの無視ファイルのリストを保持しています。Unreal4のエントリはまだありません。完全なリストが見つかったら、プルリクエストを送信してそこに追加する必要があります。
セスバティン14年

VSの一時ファイルは既に無視しましたが、誰にでもわかりやすくしてくれてありがとう。それを反映するために質問を修正しました。
rioki 14年

@rioki gitでの作業についての印象はどうですか?昨日はUEで働いて最初の時間で、500MBのハードディスク容量を使用して単純なレベルを節約しました。gitが同期するにはデータが多すぎます。

回答:


17

私はGitHub for Windowsを使用しています。これは、ログファイルや、共有する必要のないVS固有のファイルなど、ほとんどの無関係なファイルを無視して、素晴らしいgitignoreを生成します。

Unreal docsのこのページから収集できるものから、おそらくこれらのディレクトリを無視できます。

DerivedDataCache
Intermediate
Saved

VSを持っていないレベルデザイナと作業しているため、ビルドするDLLファイルが必要な場合にのみ、バイナリを無視しません(間違っている可能性があります)。

繰り返しになりますが、プロジェクトを作成するときにgitignoreを生成するGit for Windowsを使用していることに注意してください。私はほとんど以下をコミットしています(「ReallyCoolGame」はプロジェクトの名前です):

.gitattributes
.gitignore
Binaries
Config
Content
Source
ReallyCoolGame.sln
ReallyCoolGame.uproject

私はこれを自分自身でコミットしたばかりで、レベルデザイナーでテストしていません。

また、私は一人称C ++テンプレートを使用して作成されたプロジェクトを参照しています。このテンプレートは、Unreal Engineのソースディレクトリ構造内ではなく、E:\Documents\Unreal Projects\ReallyCoolGameMy Documents == E:\Documents私のマシン上)に保存されます。

編集:また、すべてのデフォルトコンテンツを含めたくないので、プロジェクトと同じ名前のゲームアセット自体のサブディレクトリをコンテンツ内に作成し、コンテンツの他のすべてのサブディレクトリを無視します。したがって、私の.gitignoreの上部の行は次のようになります。

DerivedDataCache
Intermediate
Saved
Content/*
!Content/ReallyCoolGame

レベルデザイナーは、Content/ReallyCoolGame代わりにすべてのアセットを配置します。

更新:

中間ディレクトリには、プロジェクトのビルドに必要なVisual Studioのプロジェクトファイルが実際に含まれています。中間ディレクトリが無視されると、Visual Studioソリューションがプロジェクトを見つけられないため、プロジェクトをビルドできません。ただし、これには2つの簡単な回避策があります。

1)中間ディレクトリを無視しないでください。もちろんその場合、Visual Studioは必要なプロジェクトファイルをすべて検索し、プロジェクトをビルドできます。

2)これは、特にバージョン管理のためにさらに優れています:Unreal Engine 4エディターでプロジェクトを開き、「ファイル> Visual Studioプロジェクトの更新」に進みます。これにより、まったく新しいソリューションファイルが生成されます。つまり、コミットする必要さえなく、プロジェクトフォルダーの* .slnを.gitignoreファイルに追加できます。

また、ソリューションを開くときにVisual Studioが新しいファイルを生成するだけなので、一般的に* .suoおよび* .sdfファイルは無視できます。


デフォルトのコンテンツの問題を別の方法で解決しました。生成されたプロジェクトにスターターコンテンツを追加しませんでした。開始するために資料を作成するのは本当に簡単なことであり、それが深刻になると、自分の資産を持つことになります。これにより、プロジェクトから100 MBのファイルなどが削除されます。
rioki 14年

14

UE4のパブリックバージョンと私のバージョンの違いはわかりませんが、.gitignore使用しているファイルは次のとおりです。

Engine/Binaries/
Engine/DerivedDataCache/
Engine/Intermediate/
Engine/Plugins/*/*/Binaries/
Engine/Plugins/*/*/Intermediate/
Engine/Programs/UnrealHeaderTool/
Engine/Programs/UnrealPak/
Engine/Saved/
Engine/Shaders/Binaries/
Engine/Source/*/*/*/obj/
Engine/Source/*/*/obj/
Engine/Source/*/obj/

UE4.opensdf
UE4.sdf
UE4.sln
UE4.suo
UE4.*.suo

GameName/Binaries/
GameName/DerivedDataCache/
GameName/Intermediate/
GameName/Saved/

1
UEのソース3を使用したゲームプロジェクトがありますか?エンジンのカスタムビルドがある場合、これは理にかなっているかもしれませんが、ストックエンジンを使用しています。基本的には、GameName / *とVSは無視するだけです。
rioki 14年

はい、エンジンには多くの変更が必要であり、アップストリームUEは定期的にリポジトリにマージされます。
サムホセバー14年

FWIW、私がUE3で作業していたとき、コアUEソースツリー内にゲームプロジェクトもありましたが、これはSOPであるという印象でした。エンジンの改造も必要になることをほぼ保証します。UE+ Your Gameを単一の「エンティティ」と見なすと、すべてを簡単に追跡できます。
スティーブンスタドニッキー14

0

これは私が私の.gitignoreに持っているものです

#Unreal Engine
StarterContent/
Saved/
Binaries/
Build/
Debug/
Intermediate/
DerivedDataCache/
UnrealHeaderTool/
UnrealPak/
obj/
*.VC.opendb
*.opensdf
*.sdf
*.suo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.