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

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.
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.
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.

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.

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.

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.
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.
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.
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.
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.
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.
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.
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.

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.

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.
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).