Ich bin etwas verwirrt darüber, wie die Versionskontrolle mit Unity verwendet wird, insbesondere mit Objekten wie Szenen oder Fertighäusern, die nicht nur Code sind.
Wir hatten kürzlich ein Problem, als mein Kollege und ich an verschiedenen Teilen derselben Szene arbeiteten. was zu Konflikten führte, die sich in Hülle und Fülle verzweigten und verschmolzen.
Am Ende wurde meine Revision sowieso durch seine Änderungen überschrieben.
Der einzige Weg, den ich im Moment sehe, ist, dass wir abwechselnd an denselben Objekten arbeiten, aber es scheint nicht sehr praktisch zu sein, zumal die gesamte Arbeit, die wir derzeit machen, in den Szenen stattfindet.
Was machen Menschen normalerweise in diesen Situationen?
(Wir verwenden Mercurial, BitBucket und SourceTree.)
quelle
Antworten:
Sie können die folgende Lösung ausprobieren, wenn Sie GitHub verwenden.
Das funktioniert gut für mich.
quelle
Die meisten Versionskontrollsysteme (VCS) sind für Text ausgelegt. Sie verfügen normalerweise über sehr leistungsstarke und praktische Funktionen zum Vergleichen (
diff
) und Zusammenführen von Quellcode, und einige Tools können sogar automatisch Änderungen zusammenführen (und erraten, wie Änderungen zusammengeführt werden sollen und zu welchem Zeitpunkt der Entwickler aufgefordert werden sollte, a) manuelle Zusammenführung).Es wäre großartig,
diff
Binärdateien aus den jeweiligen Anwendungen, die diese Dateien verwenden, besser zu unterstützen und zusammenzuführen. Microsoft Word ermöglicht es beispielsweise, zwei Dokumente zu vergleichen, und obwohl es kein praktisches Tool zum Zusammenführen ist, ist es dennoch besser als nichts und hat mir mehrfach Stunden gespart. Leider wird die Zusammenführungsfunktion normalerweise entweder in Softwareprodukten überwacht oder ist schwer zu implementieren (wie visualisieren Siediff
eine 3D-Szene?)Wenn es um Binärdateien geht, erhalten Sie von VCS wenig Hilfe. Sie können nicht nur aufeinanderfolgende Änderungen nicht effizient speichern, sondern können Ihnen auch nicht dabei helfen, die Änderungen zusammenzuführen.
Vor zwei Jahren stellte ich eine sehr ähnliche Frage zur Verwendung der Versionskontrolle in Videobearbeitungssoftware . Ich glaube, dass die Antworten, die auf meine Frage gegeben wurden, auch hier teilweise zutreffen. Der einzige (aber wichtige) Unterschied besteht darin, dass meine Frage große Dateien betraf, während in Ihrem Fall Binärdateien wahrscheinlich relativ klein sind.
Der Ansatz, den Sie gefunden haben, nämlich „abwechselnd an denselben Objekten zu arbeiten“, ist der gute. Wenn Sie nicht zusammenführen können, arbeiten Sie nicht parallel an denselben Dingen. Wenn Sie im selben Büro arbeiten, kann dies einfach sein. Wenn nicht, unterstützen die meisten Versionskontrollsysteme ( einschließlich des von Ihnen verwendeten ; dies wird hier auch im Zusammenhang mit BitBucket erläutert ) das Sperren , bei dem der Benutzer eines VCS über das System anzeigt, dass er an einem bestimmten Dateirechte arbeitet jetzt; Andere Benutzer können die neueste Version der Datei laden, es wird jedoch nicht erwartet, dass sie diese ändern.
quelle