8 Faktoren, die bei der Auswahl eines Version Control Systems zu beachten sind

FERGUS BAIRD / UNITY TECHNOLOGIESSenior Content Marketing Manager
Sep 23, 2021|10 Min.
8 Faktoren, die bei der Auswahl eines Version Control Systems zu beachten sind
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.

Die Implementierung Ihres ersten Version Control Systems oder die Umstellung auf ein neues System kann zwar eine Herausforderung sein, aber die langfristigen Auswirkungen sind es wert. Bei der Auswahl eines Version Control Systems sollten Sie Folgendes beachten, bevor Sie sich festlegen.

Die Entwicklung von Spielen ist ein lohnendes, wenn auch oft chaotisches Unterfangen. Während der Entwicklung arbeiten viele Teammitglieder mit unterschiedlichen Rollen und unterschiedlichem technischem Fachwissen an demselben Projekt und versuchen, sich auf einen einzigen Produktionsprozess einzustellen. Die Koordination mit mehr als einer Person gleichzeitig kann schwierig sein, und diese Herausforderung wächst exponentiell, wenn Ihr Team weiter wächst.

Wenn Probleme auftauchen, kann die Zeit, die benötigt wird, um das Problem zu identifizieren und zu beheben, alles - und jeden - ausbremsen. Hierin liegt die Bedeutung der Wahl des richtigen Version Control Systems (VCS) für Ihre Ziele.

Wie die Version Control funktioniert

Die Version Control ermöglicht es Ihnen, Ihr gesamtes Projekt aus der Vogelperspektive zu betrachten. Es bringt eine grundlegende Organisation in Ihre Arbeit, die es Ihrem Team ermöglicht, schnell und effizient zu iterieren. Aber wie?

Projektdateien werden in einer gemeinsamen Datenbank gespeichert, die als Repository oder "Repo" bezeichnet wird. Diese Art der Dateiverwaltung veranlasst Sie dazu, Ihr Projekt in regelmäßigen Abständen zu sichern und bequem auf frühere Versionen zurückzugreifen, wenn die Dinge nicht nach Plan laufen.

Mit einem VCS können Sie mehrere individuelle Änderungen vornehmen und diese als eine einzige Gruppe für die Beschaffung "committen". Dadurch wird die Gruppe von Änderungen zusammengefasst, so dass beim Zurückkehren zu einer früheren Version alles aus dieser Gruppe rückgängig gemacht wird. Sie können jede Änderung, die in einer "Übergabe" zusammengefasst ist, überprüfen und ändern oder die Übergabe in ihrer Gesamtheit rückgängig machen. Da Sie Zugriff auf den gesamten Verlauf haben, können Sie Fehler leichter aufspüren und beseitigen sowie zuvor entfernte Funktionen wiederherstellen.

Da die Versionskontrolle in der Regel in der Cloud oder auf einem verteilten Server gespeichert wird, unterstützt sie zudem die Zusammenarbeit Ihres Entwicklungsteams über Zeitzonen und geografische Grenzen hinweg - ein zunehmend wichtiger Vorteil, da die Arbeit an entfernten Standorten immer mehr zur Regel wird.

Warum auf ein neues Version Control System migrieren?

Der Wechsel von einem Versionskontrollsystem zu einem anderen kann eine Herausforderung sein, vor allem, wenn es bedeutet, dass Sie mitten im Projekt die Technologie wechseln, auf die Ihr Team angewiesen ist. Aber eine informierte Entscheidung, bevor Sie sich festlegen, kann sich durchaus auszahlen.

Im Folgenden werden einige häufige Gründe für die Einführung oder den Wechsel zu einem neuen Version Control System genannt:

  • Verbesserte Zusammenarbeit in und zwischen verschiedenen Teams
  • Schnelle Unterstützung für die Verwaltung großer Binärdateien und Assets
  • Ein dateibasierter Arbeitsablauf, um Änderungen an einzelnen Dateien vorzunehmen, ohne einen gesamten Projekt-Build herunterladen zu müssen
  • Flexible und robuste Verzweigungslösungen, damit Ihre Mitarbeiter parallel arbeiten können (nicht nur einige wenige)
  • Verbesserte Integrationen mit Ihren aktuellen Entwicklungstools
  • Stärkere Sicherheit für den Schutz Ihrer Projekte
Was Sie bei Ihrer Entscheidung beachten sollten

Hier sind acht Schlüsselfaktoren, die Sie bei der Auswahl Ihres nächsten Version Control Systems berücksichtigen sollten:

1. Ihr Team

Die Einführung oder Umstellung auf ein neues VCS dient in erster Linie der Stärkung der Teamarbeit. Unabhängig davon, ob Sie vor Ort oder aus der Ferne arbeiten, ermöglicht Version Control Ihnen und Ihren Kollegen, sich untereinander abzustimmen und gleichzeitig unabhängig zu arbeiten. Um den spezifischen Bedürfnissen Ihres Teams gerecht zu werden, fragen Sie sich selbst: Wie viele Personen werden dieses neue System nutzen? Wie hoch ist ihr technisches Fachwissen? Was halten sie von Ihren derzeitigen Möglichkeiten - und was würden sie sich von etwas Neuem wünschen?

Um die Produktivität zu verbessern, muss sichergestellt werden, dass jeder Mitarbeiter in der Lage ist, Änderungen vorzunehmen, ohne dass ein technisches Eingreifen erforderlich ist. Die Auswahl eines Systems, das für alle Teammitglieder, auch für nicht-technische Künstler, einfach zu bedienen ist, kann die emotionalen Kosten der Umstellung auf ein neues VCS verringern. Weniger Widerstand sorgt für eine schnelle Akzeptanz und damit für schnelle Ergebnisse.

2. Dateitypen und -größen

In dem Maße, wie die Spieleindustrie wächst, steigen auch die Erwartungen der Verbraucher. Die Spieler erwarten durchweg bessere Grafiken, fehlerfreie Produkteinführungen, Updates nach der Markteinführung und einen hervorragenden Support. Für Entwickler steht viel auf dem Spiel - und es wird noch mehr werden.

Die zunehmende Komplexität des Spieldesigns bedeutet, dass Sie an komplexeren Projekten mit einer größeren Anzahl von Dateitypen, größeren Dateien und potenziell riesigen Repos arbeiten und diese verwalten müssen. Um reibungslose Arbeitsabläufe und schnelle Zusammenführungen zu erreichen, sollten Sie ein VCS einsetzen, das Ihre Projekte in großem Umfang bearbeiten kann. Denken Sie daran, dass die Wahl eines Version Control Systems ein langwieriger Prozess ist. Auch wenn Ihr Team jetzt noch keine großen Dateien bearbeitet, werden sich Ihre Anforderungen mit der Zeit sicher ändern. Denken Sie voraus, um sich für einen dauerhaften Erfolg zu rüsten.

3. Einfache Einrichtung und Wartung

Dieser Faktor geht auf den ersten Punkt auf unserer Liste zurück - Ihr Team. Verfügt Ihr Team über die Zeit, das Fachwissen und die allgemeine Bandbreite, um ein neues Versionskontrollsystem zu implementieren und zu pflegen? Wie schnell kann die Umsetzung erfolgen? Wird es nach der Inbetriebnahme des Systems einen kontinuierlichen Support geben?

Wir dürfen nicht vergessen: Eine einfachere Einrichtung bedeutet eine schnellere Einrichtung. Und eine rechtzeitige Einführung bedeutet, dass Ihr Team mehr Zeit hat, sich anzupassen und effizienter zu arbeiten. Wenn also die technischen Aspekte der Einrichtung und Wartung ein Problem darstellen, sollten Sie die Erfolgsquote der Pakete, die Sie in Betracht ziehen, prüfen. Lesen Sie zunächst die Bewertungen, um das für Ihre Ziele am besten geeignete VCS zu ermitteln.

4. Ihre Arbeitsabläufe

Es ist wichtig, die Prozesse und Werkzeuge zu berücksichtigen, die Ihr Team tagtäglich einsetzt. Die Wahl eines Versionskontrollsystems, das sich nahtlos in andere benötigte Tools integrieren lässt, beschleunigt die Implementierung und minimiert Störungen.

Ein weiterer Faktor, der mit dem Arbeitsablauf zusammenhängt, ist die Frage, ob Ihr Version Control System Verzweigungen unterstützt. Verzweigen bedeutet, dass jemand, der an einem bestimmten Satz von Projektdateien arbeitet, diese Dateien vom Hauptprojektzweig, dem "Stamm", isoliert. Die Änderungen können dann wieder in den Hauptstamm eingefügt werden, sobald sie geprüft wurden und sich als stabil erwiesen haben.

Bei der Spieleentwicklung müssen Sie wahrscheinlich eine große Anzahl von Zweigen ermöglichen und diese schnell erstellen. Verzeichnisbasierte Systeme können zu unsachgemäßer Verzweigung und häufigen Konflikten bei der Zusammenführung führen, da Ihr Team Schwierigkeiten hat, zum Stamm zurückzukehren.

Mit der Verzweigung können Sie der Projektstabilität Priorität einräumen, so dass Ihr Team weiter an seinen gemeinsamen Zielen arbeiten kann, ohne die Arbeit anderer zu beeinträchtigen.

Kunststoff-Fenster

5. Der Zeitpunkt der Einführung Ihres Systems

Die Einführung eines Version Control Systems erfordert einen rigorosen Anpassungsprozess. Schließlich kann diese Veränderung die bestehenden Arbeitsabläufe und Werkzeuge völlig umkrempeln.

Ein strategischer Zeitplan für die Einführung Ihres VCS kann die Auswirkungen auf laufende Projekte verringern und die Einführung neuer Systeme beschleunigen. Daher ist es ideal, das von Ihnen gewählte VCS entweder zu Beginn eines neuen Projekts oder während der Postmortem-Phase eines gerade eingeführten Produkts zu implementieren.

Natürlich laufen die Dinge nicht immer nach Plan. Es kann vorkommen, dass Sie mitten in einem Projekt auf ein neues Versionskontrollsystem umsteigen müssen. Das ist zwar nicht ideal, aber auch nicht unmöglich.

Im Folgenden erfahren Sie mehr über die Migration Ihrer Unity Collaborate-Projekte zu Plastic SCM:

6. Was Sie ausgeben werden (und wo Sie sparen werden)

Version Control-Systeme gehören zu den erschwinglicheren DevOps-Tools; die wahren Kosten liegen in der Implementierung. Versuchen Sie daher, ein System nach seinen Vorteilen zu bewerten und zu prüfen, wie es Ihnen helfen kann, auf andere Weise zu sparen.

Es lohnt sich auch, etwas zu wählen, das für Ihr gesamtes Team leicht zugänglich ist, unabhängig von ihrem technischen Hintergrund. Wie bereits erwähnt, sollte jeder die Möglichkeit erhalten, einen eigenständigen Beitrag zu leisten. Wenn die Bedürfnisse Ihrer Teamkollegen nicht erfüllt werden, können versteckte Kosten auftauchen.

Wenn Ihr Versionskontrollsystem beispielsweise schwer zu verstehen ist, müssen Sie mehr Zeit darauf verwenden, anderen die Verwendung des Systems beizubringen und eine dichte interne Dokumentation über bewährte Verfahren der Versionskontrolle zu erstellen. Und wenn Teammitglieder nicht unabhängig arbeiten können, kann es zu internen Frustrationen kommen. Was auch immer Sie wählen, es sollte dem übergreifenden Erfolg Ihres Teams nicht im Wege stehen.

7. Anforderungen an die Sicherheit

Bei der Version Control geht es nicht nur um die Verwaltung des Quellcodes Ihres Spiels. Das von Ihnen gewählte System speichert auch andere Ressourcen wie Geschäfts- und Verfahrensdokumentation, Entwurfsdateien, Werkzeugkonfigurationen usw.

Damit diese Dateien sicher sind, sollte Ihr VCS mehrere Schutzstufen und Berechtigungen bieten. Auf diese Weise können Sie Ihren Code und Ihre IP-Assets vor Eindringlingen von außen schützen - und auch vor möglichen internen Lecks.

8. Grad der Flexibilität

Würden Sie Ihr Team als groß oder klein bezeichnen? Arbeiten Sie von einem einzigen Büro aus, oder sind Sie auf mehrere Standorte verteilt? Abhängig von diesen Faktoren benötigen Sie von Ihrem Version Control System ein unterschiedliches Maß an Flexibilität. Darüber hinaus müssen Sie entscheiden, ob Sie zentralisierte, verteilte oder standortübergreifende Arbeitsabläufe verwenden wollen. Schauen wir uns die Vorteile der beiden an.

Zentralisierte Arbeitsabläufe

Ein zentralisierter Workflow verwendet einen Check-in/Push-Workflow, um eine Verbindung zu Ihrem Hauptserver herzustellen. Wenn Änderungen vorgenommen werden, werden sie automatisch als neue Version in Ihrem Repository gespeichert. Auf diese Weise erhalten Sie leistungsstarke Verzweigungen und Zusammenführungen, ohne dass Sie Ihr Repository auf mehreren Rechnern klonen müssen. Es ist eine einfache und sichere Lösung.

Verteilte Arbeitsabläufe

Mit einem verteilten Arbeitsablauf können Sie in Ihrer eigenen Zeit einchecken, verzweigen und zusammenführen, ohne sich mit Ihrem Hauptserver verbinden zu müssen. Der Vorteil besteht darin, dass entfernte Teammitglieder getrennt und schnell arbeiten können, ohne sich um langsame Netzwerke oder VPNs kümmern zu müssen.

Multisite-Arbeitsabläufe

Multisite ist eine Mischung aus zentralisierten und verteilten Arbeitsabläufen. An jedem Standort arbeiten die Teammitglieder in einer Art zentralisiertem Mini-Workflow, in dem sie ihre Zweige und Fortschritte gemeinsam nutzen - durch einfaches Zusammenführen, Pushing und Pulling im Team, bis sie schließlich in ihrer eigenen Zeit auf den Hauptserver pushen.

Multisite-Workflows sind optimal für Teams, die an einer gemeinsamen Codebasis in verschiedenen Städten oder Kontinenten arbeiten. In diesem Fall sollten Sie an jedem Arbeitsplatz einen Hostserver einrichten und Änderungen zwischen diesen Servern kopieren. Wenn Sie dies nicht tun, werden die Teams an Standorten ohne Server langsamer reagieren als andere.

Führende Systeme zur Versionskontrolle

Nachdem Sie nun eine Vorstellung davon haben, was bei der Wahl eines Version Control Systems auf dem Spiel steht, ist es an der Zeit, einige der beliebtesten Optionen auf dem Markt zu bewerten.

Git

Git ist quelloffen, kostenlos und benutzerfreundlich und gehört zu den beliebtesten Versionskontrollsystemen überhaupt. Es bietet verteilte Repos und starke Branching- und Merging-Funktionen, kann aber nicht so effektiv mit großen Binärdateien umgehen wie andere Lösungen auf dem Markt.

Perforce (Helix Core)

Helix Core ist ein Versionskontrollsystem auf Unternehmensebene, das von Spielestudios wie EA und Ubisoft verwendet wird. Dieses VCS verfügt über zentralisierte Repos und verarbeitet große Binärdateien. Allerdings verfügt es nicht über visuelle Repos, so dass die Einführung für technisch nicht versierte Entwickler schwieriger sein könnte.

Apache Subversion

Wie Git ist auch Apache Subversion ein freies und quelloffenes Versionskontrollsystem. Es verfügt über zentralisierte Repos und kann große Binärdateien verarbeiten, aber Sie müssen mit dem Hauptserver verbunden sein, um es zu verwenden, was für die Offline-Arbeit nicht ideal ist und für größere oder verteilte Teams ein Hindernis darstellen könnte.

Plastic SCM

Plastic SCM ist ein flexibles Versionskontrollsystem, das Programmierer und Künstler gleichermaßen unterstützt. Es eignet sich hervorragend für den Umgang mit großen Repos und Binärdateien und bietet Ihnen als dateibasierte und änderungssatzbasierte Lösung die Möglichkeit, nur die spezifischen Dateien herunterzuladen, an denen Sie gerade arbeiten, und nicht das gesamte Projekt-Build.

Darüber hinaus ist Plastic SCM das einzige Versionskontrollsystem auf dem Markt, das visuelle Verzweigungen ermöglicht. Es kann Tausende von Zweigstellen gleichzeitig verwalten und zwingt Sie nicht dazu, sich zwischen zentralisierten oder verteilten Workflows zu entscheiden.

Möchten Sie wissen, was Unity noch für Sie tun kann? Entdecken Sie Unity-Lösungen zur Bewältigung von Herausforderungen in jeder Phase der Entwicklung, von der großen Idee bis zum großen Erfolg.