Kann ich git zur Versionskontrolle von PSD-Dateien und Maya-Projekten verwenden?

14

Ich hatte große Erfolge mit Git, Versionskontrolle, Teilen und Zusammenarbeit bei meinen Programmierprojekten und würde gerne dasselbe mit Photoshop- .psd, Illustrator- .aiund Maya-Projekten machen. Wie Sie vielleicht wissen, ist Maya ein brillantes 3D-Modellierungs- und Rendering-Kit, dessen Projekte jedoch wie ein Programmierframework mit verschiedenen Verzeichnissen für Quellbilder und -texturen und dergleichen gespeichert werden.

Standardeinstellungen für die Verzeichnisstruktur

Ist es in der Industrie üblich, Git in dieser Hinsicht zu verwenden? Es wäre unglaublich, einen 3D-Film oder die 3D-Dateien eines Spiels auf github als Open Source zu öffnen!

Offensichtlich handelt es sich bei allen Dateien nur um Zahlen. Theoretisch wäre es also in Ordnung, nur die Teile der JPEG- oder Maya-Binärdateien zu aktualisieren, die sich geändert haben. Glauben Sie jedoch, dass dies in Wirklichkeit zu Datenkorruption und Tränen führen würde? Wie ich schon sagte, möchte ich dasselbe mit Photoshop- und Illustrator-Dateien machen.

Wenn Git keine Option ist, wie soll ich dann andere Maya- und Adobe-Projekte versionieren, zusammenarbeiten und öffnen?

Starkers
quelle
Tactic ist eine Open Source-Option für die Dateiversionierung von 3D-Assets. Persönlich verwende ich Dropbox in meinem Workflow.
John
ich benutze mercurial, funktioniert gut für alle außer den größten Vermögenswerten, und diese sollten bigfiles-Erweiterung verwenden.
Joojaa

Antworten:

20

Eine Sache zu beachten ist, dass Git nicht gut mit wirklich großen Repos oder Dateien funktioniert.

Hier ist ein Artikel darüber , warum Facebook nicht für ihre Versionskontrolle mit Git. Grundsätzlich hat git nicht gut genug skaliert.

Github hat hier eine gute Erklärung für die Einschränkungen von Git :

git kann mit fast jeder Datei umgehen, die Sie darauf werfen (siehe Erklärung von binary diff )

Photoshop

Sie sollten kein Problem damit haben, mit git eine Photoshop-Datei zu versionieren. (Vorausgesetzt, sie sind relativ klein)

Maya

Maya generiert wahrscheinlich zu viele Projekte, um in Git gut zu skalieren. Besonders, wenn Sie vorhaben, zu einer Fernbedienung wie Github oder Gitlab zu wechseln.

Die meisten meiner Bekannten, die Maya oder ähnliche Software verwenden, speichern ihre Arbeit auf einem Netzwerklaufwerk, um sie mit nur wenigen Mitarbeitern zu teilen. Wenn eine Version zur Veröffentlichung bereit ist, wird sie auf einer FTP-Site gerendert und gehostet.

Zusätzliche Ressourcen

Semantische Versionierung

/programming/540535/managing-large-binary-fileses-with-git

Spuder
quelle
Genial! Was die Versionierung in meinem System angeht, halten Sie mercurial eher als die Zusammenarbeit für gut, um ein Maya-Projekt im Auge zu behalten? Wie Sie bereits sagten, sind Netzlaufwerke sicherlich eine einfache Möglichkeit, ein Projekt gemeinsam zu nutzen. Könnte mercurial auch für die Zusammenarbeit verwendet werden?
Starkers
Jedes Versionskontrollsystem wird wahrscheinlich keine großen Änderungen verarbeiten (wie z. B. Video- oder 3D-Modelle). Die beste Option wird wahrscheinlich sein, die alte Schule zu verlassen und nur Versionsnummern zu verwenden (mit semantischer Versionierung). Als Referenz hat die Blender-Community das gleiche Problem ( blender.stackexchange.com/questions/671/… )
Spuder
Ah okay dann, fair genug, ich werde alte Schule gehen. Was meinst du wont handleübrigens sein? Sehr langsam, Abstürze, Datenverfälschung?
Starkers
Jedes Commit wird langsamer und langsamer und die Dateigröße wird sehr, sehr groß. Ich habe gesehen, dass eine 30-MB-Datei aufgrund aller Änderungen 450 MB belegt.
Spuder
Hmm hört sich nach viel Mühe an. Na ja, vielleicht ergibt sich etwas, wenn ich genug Erfahrung habe, um ein Team zu leiten!
Starkers
2

Ich habe dieses Problem auch für eine lange Zeit gehabt. Sie haben einige Nachforschungen angestellt und es gibt einige Optionen für die Versionskontrolle Ihrer grafischen Assets. Einige von ihnen erfordern Ihren eigenen Server (für einige müssen Sie einen Windows-Server ausführen), andere können auf einem Drittanbieter-Server gehostet werden. Mein Favorit (obwohl nicht ganz zufriedenstellend) war Timeline von Pixelnovel.

Es gibt eine ähnliche Frage hier über Timeline .

Nach meiner Erfahrung sollten Sie sicherstellen, dass alle Ihre Mitarbeiter dieselbe Version der Software verwenden (sowohl Timeline als auch PS / AI / Maya). Ältere Versionen von PS erfordern, dass Sie eine ältere Version von Timeline ausführen, die das nicht unterstützt funktioniert genauso wie in aktuelleren Versionen.

Ich habe auch große grafische Assets mit regulärer Subversion (ohne GUI) versionskontrolliert und festgestellt, dass es nicht allzu schlimm ist, wenn Sie mit der Verwendung des Terminals einverstanden sind. Natürlich sind Dinge wie Zusammenführen, Konflikte usw. mit Binärdateien nicht möglich, aber zumindest erhalten Sie eine übersichtliche Versionsverwaltung mit einem strukturierten Protokoll. Mit SVN können Sie auch eine Datei sperren, während Sie damit arbeiten (was Timeline für Sie tut).

Ich bevorzuge es, git nicht mit Grafiken zu verwenden (obwohl ich es für Nicht-Binärdateien tue) und die von spuder gemachten Punkte sind sehr gültig.

miphe
quelle