Які файли проекту Unreal Engine 4 я можу проігнорувати у керуванні джерелами?


30

Я хочу поставити проект Unreal Engine 4 під контроль джерела з git. (Я знаю, що редактор має підтримку Perforce та Subversion, але мені це не цікаво.)

Які папки та файли я включаю до сховища та які я можу проігнорувати?

Як я бачу це, необхідно наступне: Config, Content, Source, *.sln,*.uproject

Те , що я можу ігнорувати: Binaries, DerivedDataCache, Intermediate, Saved, *.suo, *.sdf,*.opensdf

Це правильно?


2
Якщо є .sln, зазвичай є файл .vXX.suo (який зазвичай невидимий), який ви, можливо, захочете проігнорувати, оскільки він містить параметри, що стосуються користувачів.
Джош

2
Github підтримує список файлів ігнорування для різних проектів. Запис Unreal4 ще немає. Якщо ви знайдете ідеальний список, можливо, вам слід подати запит на тягнення, щоб додати його туди.
Сет Баттін

Я вже проігнорував тимчасові файли VS, але дякую за те, що ви зрозуміли всім. Я змінив питання, щоб відобразити це.
ріокі

@rioki Ваше враження від роботи з git? Вчора був перший час, коли я працював з UE і заощаджуючи простий рівень, використовував 500 Мб мого місця на жорсткому диску. Занадто багато даних для синхронізації git.

Відповіді:


17

Я використовую GitHub для Windows, який створює приємний gitignore ігнорування більшості сторонніх файлів, таких як файли журналів або файли, характерні для VS, які не потрібно ділитися.

З того, що я можу зібрати на цій сторінці в документах Unreal , ви, ймовірно, можете ігнорувати ці каталоги:

DerivedDataCache
Intermediate
Saved

Я не збираюся ігнорувати Binaries, хоча б тому, що працюю з дизайнером рівнів, у якого немає VS, і тому мені знадобляться файли DLL, які я будую (я припускаю, що я можу помилитися).

Ще раз майте на увазі, що я використовую Git для Windows, який створює gitignore для вас під час створення проекту, і він досить великий. Я майже вчиняю лише таке (де "ReallyCoolGame" - назва вашого проекту):

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

Я тільки що здійснив це сам, і я ще випробував це зі своїм дизайнером рівнів, таким чином застереженням.

Також я маю на увазі проект, створений за допомогою шаблону C ++ від першої особи, який зберігається в: E:\Documents\Unreal Projects\ReallyCoolGame( My Documents == E:\Documentsна моїй машині), а не в структурі каталогів Unreal Engine.

Редагувати: Я також не хочу включати весь вміст за замовчуванням, тому я буду мати підкаталог у вмісті лише для самих ігрових активів, що мають те саме ім'я, що і проект, і ігнорувати всі інші підкаталоги вмісту. Тож рядки вгорі мого .gitignore зараз виглядають так:

DerivedDataCache
Intermediate
Saved
Content/*
!Content/ReallyCoolGame

І дизайнер рівнів Content/ReallyCoolGameзамість цього вкладе всі наші активи .

ОНОВЛЕННЯ:

Каталог «Проміжний» насправді містить файли проектів Visual Studio, які необхідні для створення проекту. Якщо проміжний каталог проігнорувати, ви не зможете скласти проект, оскільки рішення Visual Studio не знайде його. Але для цього є два простих шляхи вирішення.

1) Просто не ігноруйте проміжний каталог. Звичайно, у такому випадку Visual Studio все ще знайде всі необхідні файли проекту та зможе створити проект.

2) Це ще краще, особливо для контролю версій: Відкрийте проект у редакторі Unreal Engine 4 та перейдіть до «Файл> Оновити проект Visual Studio». Це створить для вас весь новий файл рішення, а це означає, що вам навіть не потрібно буде його вводити, і ви можете додати * .sln у папці проекту до файлу .gitignore.

Також файли * .suo та * .sdf можна взагалі ігнорувати, оскільки Visual Studio просто створює нові, коли ви відкриваєте рішення.


Я вирішив проблему із вмістом за замовчуванням по-різному. Я не додав вміст початківця в створений проект. Створення матеріалів для початку - це справді шматок пирога, і як тільки він стане серйозним, у мене будуть власні активи. Це видаляє з проекту щось на зразок 100 Мб файлів.
ріокі

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
У вас є ігровий проект за допомогою джерела 3 UE? Якщо у вас є власна збірка двигуна, це може мати сенс, але я використовую двигун запасу. В основному мені просто потрібне GameName / * і VS ігнорує.
ріокі

Так, двигун потребує безлічі модифікацій, а UE вище за течією регулярно об'єднується в сховище.
sam hocevar

FWIW, коли я працював з UE3, у нас також був ігровий проект в основному дереві джерел UE, і моє враження було, що це SOP. Я майже гарантую, що вам потрібно буде робити і модні движки, і набагато простіше відстежувати все, якщо ви вважаєте UE + Your Game як єдину «сутність».
Стівен Стадницький

0

Це те, що я маю в своєму .gitignore

#Unreal Engine
StarterContent/
Saved/
Binaries/
Build/
Debug/
Intermediate/
DerivedDataCache/
UnrealHeaderTool/
UnrealPak/
obj/
*.VC.opendb
*.opensdf
*.sdf
*.suo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.