Welche Unreal Engine 4-Projektdateien kann ich in der Quellcodeverwaltung ignorieren?

30

Ich möchte ein Unreal Engine 4-Projekt mit git der Quellcodeverwaltung unterstellen. (Ich weiß, dass der Editor Perforce- und Subversion-Unterstützung hat, aber diese sind mir egal.)

Welche Ordner und Dateien habe ich im Repository und welche kann ich ignorieren?

So wie ich es sehe, ist folgendes erforderlich: Config, Content, Source, *.sln,*.uproject

Dinge , die ich ignorieren kann: Binaries, DerivedDataCache, Intermediate, Saved, *.suo, *.sdf,*.opensdf

Ist das richtig?

Rioki
quelle
2
Wenn es eine SLN-Datei gibt, gibt es normalerweise eine vXX.suo-Datei (die normalerweise unsichtbar ist), die Sie möglicherweise ignorieren möchten, da sie benutzerspezifische Optionen enthält.
Josh
2
Github verwaltet eine Liste von Ignorierdateien für verschiedene Projekte. Es ist noch kein Eintrag für Unreal4 vorhanden. Wenn Sie die perfekte Liste finden, sollten Sie möglicherweise eine Pull-Anfrage senden, um sie dort hinzuzufügen.
Seth Battin
Ich habe die temporären VS-Dateien bereits ignoriert, aber ich danke Ihnen, dass Sie es allen klar gemacht haben. Ich habe die Frage entsprechend geändert.
Rioki
@rioki Was ist dein Eindruck von der Arbeit mit Git? Gestern war die erste Zeit, in der ich mit UE zusammengearbeitet und das einfache Niveau von 500 MB Festplattenspeicher eingespart habe. Es sind zu viele Daten, als dass Git sie synchronisieren könnte.

Antworten:

17

Ich verwende GitHub für Windows, das einen netten Gitignore generiert, der die meisten irrelevanten Dateien wie Protokolldateien oder VS-spezifische Dateien ignoriert, die nicht freigegeben werden müssen.

Nach allem , was ich auf dieser Seite in den Unreal-Dokumenten finden kann, können Sie diese Verzeichnisse wahrscheinlich ignorieren:

DerivedDataCache
Intermediate
Saved

Ich werde Binärdateien nicht ignorieren, schon gar nicht, weil ich mit einem Level-Designer zusammenarbeite, der kein VS hat und daher die von mir erstellten DLL-Dateien benötigt (ich nehme an, ich könnte mich irren).

Denken Sie auch hier daran, dass ich Git für Windows verwende, das Gitignore für Sie generiert, wenn Sie ein Projekt erstellen, und es ist ziemlich groß. Ich begebe so ziemlich nur Folgendes (wobei "ReallyCoolGame" der Name Ihres Projekts ist):

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

Ich habe das gerade erst selbst begangen und es noch nicht mit meinem Leveldesigner getestet, also Vorbehalt.

Außerdem beziehe ich mich auf ein Projekt, das mit der Ego-C ++ - Vorlage erstellt wurde und in folgendem Verzeichnis gespeichert wird: E:\Documents\Unreal Projects\ReallyCoolGame( My Documents == E:\Documentsauf meinem Computer) und nicht in der Unreal Engine-Quellverzeichnisstruktur.

Bearbeiten: Ich möchte auch nicht den gesamten Standardinhalt einschließen, daher werde ich ein Unterverzeichnis innerhalb des Inhalts haben, nur für die Spiele-Assets selbst mit demselben Namen wie das Projekt, und alle anderen Unterverzeichnisse des Inhalts ignorieren. Die Zeilen oben in meinem .gitignore sehen nun folgendermaßen aus:

DerivedDataCache
Intermediate
Saved
Content/*
!Content/ReallyCoolGame

Und der Leveldesigner wird Content/ReallyCoolGamestattdessen alle unsere Assets einsetzen .

AKTUALISIEREN:

Das Zwischenverzeichnis enthält tatsächlich die Projektdateien von Visual Studio, die zum Erstellen des Projekts erforderlich sind. Wenn das Zwischenverzeichnis ignoriert wird, können Sie das Projekt nicht erstellen, da es von der Visual Studio-Lösung nicht gefunden wird. Hierfür gibt es zwei einfache Problemumgehungen.

1) Ignorieren Sie das Zwischenverzeichnis nicht. In diesem Fall findet Visual Studio natürlich weiterhin alle benötigten Projektdateien und kann das Projekt erstellen.

2) Dies ist besonders für die Versionskontrolle noch besser: Öffnen Sie Ihr Projekt im Unreal Engine 4-Editor und gehen Sie zu "Datei> Visual Studio-Projekt aktualisieren". Dadurch wird eine völlig neue Lösungsdatei für Sie erstellt, sodass Sie sie nicht einmal festschreiben müssen und die * .sln im Projektordner zur .gitignore-Datei hinzufügen können.

Auch * .suo- und * .sdf-Dateien können im Allgemeinen ignoriert werden, da Visual Studio beim Öffnen der Projektmappe nur neue generiert.

Youdaman
quelle
Ich habe das Problem mit dem Standardinhalt anders gelöst. Ich habe den Starter-Inhalt nicht in das generierte Projekt eingefügt. Die Materialien aufzubauen, um loszulegen, ist wirklich ein Kinderspiel und wenn es ernst wird, werde ich mein eigenes Vermögen haben. Dadurch werden etwa 100 MB an Dateien aus dem Projekt entfernt.
Rioki
14

Ich kenne die Unterschiede zwischen der öffentlichen Version von UE4 und meiner nicht, aber hier ist die .gitignoreDatei, die ich verwendet habe:

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/
sam hocevar
quelle
1
Sie haben Ihr Spielprojekt mit der Quelle drei der UE? Wenn Sie eine benutzerdefinierte Version des Motors haben, ist dies möglicherweise sinnvoll, aber ich verwende die Standard-Engine. Grundsätzlich brauche ich nur den GameName / * und den VS ignoriert.
Rioki
Ja, die Engine muss stark modifiziert werden, und das Upstream-UE wird regelmäßig in das Repository eingebunden.
Sam Hocevar
FWIW, als ich mit UE3 gearbeitet habe, hatten wir auch unser Spielprojekt im Kern des UE-Quellbaums, und ich hatte den Eindruck, dass dies SOP ist. Ich werde fast garantieren, dass Sie auch Engine-Modifikationen durchführen müssen, und es ist viel einfacher, alles im Auge zu behalten, wenn Sie UE + Your Game als eine einzige "Einheit" betrachten.
Steven Stadnicki
0

Das habe ich in meinem .gitignore

#Unreal Engine
StarterContent/
Saved/
Binaries/
Build/
Debug/
Intermediate/
DerivedDataCache/
UnrealHeaderTool/
UnrealPak/
obj/
*.VC.opendb
*.opensdf
*.sdf
*.suo
Shital Shah
quelle