Engine & platform

Lernen Sie Smart Locks kennen, eine neue Methode zur Reduzierung von Merge-Konflikten mit Unity Version Control

VÍTOR MIGUEL / UNITY TECHNOLOGIESSenior Technical Product Manager
Jul 10, 2023|9 Min.
Lernen Sie Smart Locks kennen, eine neue Methode zur Reduzierung von Merge-Konflikten mit Unity Version Control
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Bei Unity ist es unsere Leidenschaft, Kreativen die Möglichkeit zu geben, ihre beste Arbeit zu leisten. Deshalb freut sich das Unity DevOps-Team über die Einführung von Smart Locks, einer neuen Funktion von Unity Version Control.

Smart Locks reduziert die schmerzhaften Merge-Konflikte, die üblicherweise mit Dateisperren und Verzweigungen verbunden sind, erheblich. Entwickler verzweigen schon lange, um schneller und sicherer zu iterieren. Jetzt kann jeder, auch Künstler, die Verzweigung nutzen, um Projekte sicher zu skalieren.

Sorgenfreie Verzweigung für alle Disziplinen

Smart Locks prüft automatisch, ob Sie mit der neuesten Version arbeiten, bevor Sie eine Datei sperren. So wird das Risiko von Konflikten bei der Zusammenführung von Dateien minimiert und Teams können unbesorgt verzweigen.

Wenn Sie ein Künstler sind, der eine Funktionsverzweigung, eine Aufgabenverzweigung oder eine persönliche Verzweigung erstellt, bietet Smart Locks die Flexibilität, Verzweigungen zu erstellen und parallel mit Teammitgliedern zu arbeiten, ohne dass Sie sich um Konflikte sorgen müssen. Sie können schneller experimentieren und iterieren, während Ihr Hauptprojektverlauf sicher bleibt.

Mit Smart Locks können Sie verschiedene Arbeitsabläufe erkunden. Anstatt Ihr Team auf Ihr Versionskontrollsystem (VCS) umzustellen, können Sie Unity Version Control so anpassen, wie es für Ihr Team am besten funktioniert.

Wie Smart Locks funktionieren

Viele Benutzer glauben, dass das Sperren oder Auschecken einer Datei automatisch Konflikte beim Zusammenführen verhindert. Leider entspricht das nicht der Realität.

Herkömmliche Dateisperrmechanismen bieten zwar Schutz vor einigen Konflikten, aber diese Dateisperren konnten sich nicht von Zweig zu Zweig bewegen, so dass ein anderer Künstler die gleiche Datei aus einem anderen Zweig auschecken konnte. Diese Unfähigkeit zu reisen macht Teams anfällig für Merge-Konflikte, da die zugrundeliegende Workflow-Inkompatibilität mit der Verzweigung nicht behoben wird.

Um zu verstehen, wie Smart Locks funktioniert, wollen wir zunächst untersuchen, wie ein Zusammenführungskonflikt entsteht, selbst wenn Teams Dateisperren ordnungsgemäß verwenden.

Früher waren Sie bei der Verwendung von Dateisperren mit Verzweigungen anfällig für Merge-Konflikte.
Früher waren Sie bei der Verwendung von Dateisperren mit Verzweigungen anfällig für Merge-Konflikte.

Dieses Szenario veranschaulicht, wie Teams, die Verzweigungen verwenden, trotz ihrer Bemühungen, Dateien zu sperren, häufig mit Konflikten bei der Zusammenführung konfrontiert werden. Das Ergebnis? Vergeudete Zeit und gesunkene Moral im Team. Smart Locks löst dieses Problem, indem es den Benutzern ermöglicht, einen Zweig als Quelle der Wahrheit zu definieren.

Unabhängig davon, ob Sie in einer Verzweigung oder in einem einzelnen Thread arbeiten, "reist" die Sperre durch die Verzweigungen und folgt dabei einer eindeutigen Entwicklungslinie, bis sie den Zielzweig erreicht, in dem die Änderung geprüft oder wieder zusammengeführt wird. Smart Locks erzwingt diese einzige Entwicklungslinie, unabhängig davon, ob Sie die Arbeit in einem Zweig fortsetzen oder zur Erstellung von Unterzweigen übergehen.

Mit Smart Locks können Sie Verzweigungen vornehmen, ohne sich Gedanken über Merge-Konflikte zu machen.
Mit Smart Locks können Sie Verzweigungen vornehmen, ohne sich Gedanken über Merge-Konflikte zu machen.

Alle Sperranforderungen, die mit einer bestimmten Datei verknüpft sind, kennen nun alle neuen Versionen, die in verschiedenen Zweigen existieren. Das bedeutet, dass Sie sich nicht fragen müssen, ob Ihre Änderungen mit denen eines Teamkollegen kollidieren oder ob Sie an einer veralteten Version arbeiten.

Durch diesen einfachen und effektiven Prozess wird verhindert, dass mehrere Teammitglieder gleichzeitig an widersprüchlichen Versionen arbeiten, so dass keine Änderungen durch die Lappen gehen. Auf diese Weise wird sichergestellt, dass die künstlerischen Vorstellungen aller Beteiligten berücksichtigt werden, und eine gleichzeitige Zusammenarbeit ist praktisch problemlos möglich.

Sie können benutzerdefinierte Sperrregeln festlegen, einschließlich Regeln zum Ausschluss von Zweigen.
Sie können benutzerdefinierte Sperrregeln festlegen, einschließlich Regeln zum Ausschluss von Zweigen.
Warum sollten Künstler Verzweigungen verwenden?

Die meisten Programmierer, die mit Git-basierten Systemen vertraut sind, kennen und schätzen bereits den Wert der Verzweigung. Die Hauptvorteile der Verzweigung für Künstler sind die gleichen wie die für Programmierer.

1. Schneller iterieren

Wenn Sie in Zweigen arbeiten, sind Sie effektiv von der Hauptgeschichte Ihres Projekts getrennt. Diese Isolierung ermöglicht es Ihnen, Prototypen zu erstellen und sicher zu experimentieren, ohne dass Sie sich Sorgen machen müssen, dass Ihr Projekt möglicherweise beschädigt wird.

Sicheres Experimentieren ermöglicht es Ihnen, kontinuierlich zu iterieren und mehrere Versionen zu erstellen, so dass Sie Ihren Favoriten auswählen können, indem Sie durch die Repository-Historie navigieren. Die beste Idee soll gewinnen.

2. Raum für neue Ideen schaffen

Durch die Verzweigung wird das Rauschen der gleichzeitigen Zusammenarbeit von vornherein reduziert. Sie schafft Raum für neue Ideen, ohne den Bezug zum ursprünglichen Konzept zu verlieren. Stellen Sie sich einfach den Unterschied zwischen der Iteration in einem Google-Dokument allein und der Arbeit in einem einzigen Dokument mit zweihundert anderen Mitarbeitern vor.

Sie können neue Konzepte ohne Angst vor Merge-Konflikten erstellen, indem Sie sie in Ihrem Versionskontrollsystem speichern, anstatt unabhängig auf Ihrem lokalen Laufwerk oder in einer externen Quelle zu arbeiten, die nicht mit Ihrem Hauptprojekt integriert ist.

3. Verwalten komplexer Arbeitsabläufe

Die Verzweigung ermöglicht es Teams, komplexe Arbeitsabläufe in verdauliche Teile zu zerlegen. Sie können Zweige erstellen, die sich an die Organisation Ihres Projekts anpassen. In der Spieleentwicklung ist es ganz natürlich, die Arbeit aufzuteilen, um das Projektmanagement zu erleichtern. So können Sie beispielsweise die Arbeit innerhalb eines Teams nach Merkmalen, Charakteren oder sogar ganzen Ebenen aufteilen. Ihr Team kann sich auf die ihm zugewiesene Arbeit in seiner jeweiligen Branche konzentrieren.

4. Skalieren mit weniger Reibung

Die Aufteilung der Arbeit in Zweigstellen ermöglicht es verschiedenen Teams und Teammitgliedern, in ihrem eigenen Tempo, in ihrem eigenen Stil und mit ihren eigenen Prozessen zu arbeiten - und dabei gleichzeitig einen Beitrag zum Gesamtprojekt zu leisten. Durch die Beseitigung von Reibungsverlusten wird nicht nur die Zusammenarbeit reibungsloser, sondern Ihr Team wird auch häufiger den Projektverlauf aktualisieren. Sie können schneller liefern und mit den Erwartungen der Spieler Schritt halten.

5. Verstehen Sie die gesamte Geschichte Ihres Projekts

Das Verzweigen erleichtert den Überblick über den gesamten Projektverlauf, während das Einchecken von Änderungen in die Hauptversion den Überblick über die gesamte Bandbreite der Änderungen erschwert. Durch Verzweigungen können Sie diese Änderungen schneller erkennen.

Ausschluss von Verzweigungen für leichteres Experimentieren

Wir haben Smart Locks so konzipiert, dass alle Mitglieder Ihres Teams flexibel entscheiden können, wie sie arbeiten möchten. Wir sind uns auch darüber im Klaren, dass der Umgang mit komplexen Dateisperren in bestimmten Situationen, z. B. in der Ideenfindungs- und Experimentierphase eines Projekts, hinderlich sein kann.

Deshalb haben wir zusätzlich zu den Reisesperren auch eine neue Funktion zum Ausschluss von Zweigen entwickelt. Auf diese Weise können Sie Zweige von dem Sperrmechanismus ausschließen, indem Sie benutzerdefinierte Sperrregeln festlegen. Wenn Sie wissen, dass Sie niemals in den Quellzweig zurückkehren müssen, können Sie innerhalb Ihres Zweigs Prototypen erstellen oder experimentieren, ohne durch Dateisperren eingeschränkt zu sein.

Verbessertes GUI für eine bessere Branchenkenntnis

Um sicherzustellen, dass Sie den Überblick über komplexe Projekte behalten und Ihre bestehende Sperrliste übersichtlich darstellen können, haben wir auch die grafische Benutzeroberfläche (GUI) sowohl auf dem Desktop-Client als auch in UDash verbessert. Wenn Sie sich den Sperrverlauf ansehen, können Sie leicht erkennen, wer wann eine Sperre erstellt hat.

Intuitives Verstehen des Verlaufs Ihrer Sperre mit verbesserter Visualisierung.
Intuitives Verstehen des Verlaufs Ihrer Sperre mit verbesserter Visualisierung.

Außerdem haben wir die Möglichkeiten zum Sperren und Entsperren von Dateien deutlicher hervorgehoben und mit hilfreichen Meldungen versehen, die Sie über bestehende Sperren für eine bestimmte Datei informieren.

Hilfreiche Meldungen informieren Sie über bestehende Sperren für bestimmte Dateien.
Hilfreiche Meldungen informieren Sie über bestehende Sperren für bestimmte Dateien.
Wie man Smart Locks ausprobiert

Um die Vorteile dieser neuen Funktion zu nutzen, aktualisieren Sie einfach Ihre Unity Version Control Installation auf die neueste Version. On-Prem-Kunden oder frühere Kunden von Plastic SCM Enterprise müssen ihre Server und Clients aktualisieren, um die Vorteile von Smart Locks voll nutzen zu können.

Lesen Sie unbedingt die Dokumentation, bevor Sie beginnen.

Neu bei Unity Version Control?

Unity Version Control ist ein Engine-unabhängiges Versionskontrollwerkzeug, das große Dateien und Binärdateien schnell verarbeiten kann. Mit optimierten Workflows für Künstler und Programmierer in Spielestudios jeder Größe können Sie die Zusammenarbeit im Team verbessern und die Produktivität steigern, um schneller und effizienter hochwertige Spiele zu entwickeln. Melden Sie sich kostenlos bei Unity DevOps an, um loszulegen (es gelten bestimmte Bedingungen).