Welche Dateitypen sollte ich aus dem Quellcodeverwaltungs-Repository meines Spiels ausschließen?

11

Ich habe angefangen, mit einem Freund an einem persönlichen Projekt mit Unity zu arbeiten, und wir haben unser eigenes Versionsverwaltungssystem eingerichtet.

Mir ist bewusst, dass es viele Arten von Dateien gibt, nämlich solche, die beim Erstellen lokal generiert werden (z. B. Visual Studio-Dateien), und solche, die für Ihren bestimmten Computer spezifisch sind und nicht zur Quellcodeverwaltung hinzugefügt werden sollten Ich bin mir nicht ganz sicher, was diese Dateitypen sind.

Ich möchte keine generierten Dateien ausschließen, die ich einschließen sollte, wie z. B. .meta-Dateien.

Wäre jemand in der Lage, alle oder zumindest alle gängigen Dateitypen aufzulisten, die nicht zur Versionskontrolle hinzugefügt werden sollten, insbesondere für ein Unity-Projekt?

Sir Yakalot
quelle

Antworten:

9

Mit der aktuellen Version von Unity checken Sie einfach alles im Ordner "Assets" und im Ordner "ProjectSettings" ein. Checken Sie nichts unter Bibliothek oder auf der obersten Ebene ein.

Tetrad
quelle
8

Eine gute Referenz für diese Art von Listen sind die Gitignore-Vorlagen von GitHub . Die Unity-spezifische Liste finden Sie hier .

Und wenn Sie das Gefühl haben, dass etwas fehlt, stellen Sie eine Pull-Anfrage!

Laurent Couvidou
quelle
5

Der Dateityp ist weniger wichtig , dass die Akte der Zweck und Herkunft; Wie Sie sagten, hat alles, was (normalerweise) aus den Quelldateien unter Versionskontrolle generiert werden kann, kein Geschäft im Repository selbst.

Ebenso sollten alle benutzerspezifischen Elemente wie Einstellungen oder Konfigurationsdateien ausgeschlossen werden.

Darüber hinaus liegt es wirklich an Ihnen und Ihrem Projekt.


quelle
2
Ich nehme an, was ich wirklich verlange, ist eine kurze Liste, welche Dateien in einem Standard-Unity-Projekt die Dateien sind, die generiert werden oder benutzerspezifisch sind. Abgesehen von den Dateien, die ich manuell erstelle, weiß ich nicht genau, welche was tun und woher sie kommen.
SirYakalot
Aha. Ich habe Ihre Frage bearbeitet, um dies zu verdeutlichen, da das Unity-Bit entfernt war, als ich es sah (oder es einfach verpasst habe).
3

Sie können sich mein Unity-Projekt ansehen. als Beispiel Radius auf GitHub . Oder Unity.gitignorechecken Sie die Datei im offiziellen GitHub Gitignore Repo aus.

Es gibt auch einen schönen Leitfaden von Damien Mayance auf seiner Website über Git- und Unity-Projekte

Stellen Sie sicher, dass Sie Ihre einchecken .meta Dateien , da Unity auf diese Weise auf jedes Asset verweist. Sie können sie , indem Sie auf wieder eingeblendet in Ihrem OS machen Edit->Project Settings->Editorund Wechsel Version Controlzu Visible Meta Files.

Wenn Sie Ihr Unity-Projekt in einem Ordner mit dem Namen UnityProjectNamespeichern, sollte Ihr .gitignore so aussehen. Wenn Sie nur den Unity-Projektordner als Stammverzeichnis des GitHub-Repos haben, entfernen Sie einfach den UnityProjectName/aus jedem Pfad darunter.

.gitignore

# Ignore unneeded Unity files
# --------------------------------------------------
UnityProjectName/Temp/
UnityProjectName/obj/
UnityProjectName/Library/

UnityProjectName/*.csproj
UnityProjectName/*.unityproj
UnityProjectName/*.sln

# Ignore Custom Builds
# --------------------------------------------------
UnityProjectName/[Bb]uilds/
MLM
quelle
1

Ich weiß nichts über Einheit, aber Sie haben Visual Studio erwähnt. Dort können Sie normalerweise die Ordner bin und obj in den Projektordnern ausschließen (in einigen Projekttypen speichert der Ordner bin auch Assemblys aus eingeschlossenen Projekten, aber ich denke, dies gilt nur für bestimmte Arten von Webprojekten).

Überprüfen Sie auch nicht die Dateien " .csproj.user" und " .suo". Diese beiden Typen umfassen Benutzereinstellungen. Wenn Sie diese einchecken, werden alle Benutzereinstellungen auf den anderen Computern angezeigt, wenn Sie die Quelle aktualisieren. Dies ist ziemlich ärgerlich, da diese Einstellungen nicht für das Erstellen oder Projekt relevant sind, sondern vielmehr dazu dienen, die Benutzeroberfläche, den Editor usw. für die individuellen Bedürfnisse jedes Entwicklers zu konfigurieren.

Tom van Green
quelle