Ein Revisionskontrollkonflikt tritt auf, wenn eine Person versucht, Änderungen an der lokalen Version ihres Projekts einzureichen, die nicht mit der letzten Quelle der Wahrheit in der Revisionskontrolle in Einklang gebracht werden können.
Dies kann aus einer Reihe von Gründen geschehen, aber am häufigsten ist dies der Fall, wenn ein Einzelner Änderungen an einem Teil eines Teamprojekts vornimmt, die ein anderes Teammitglied inzwischen geändert hat. Wenn sie ihre Änderungen einreichen, ohne zuvor die Änderungen ihrer Mitstreiter zu synchronisieren, kommt es zu einem Konflikt.
Am besten lassen sich Konflikte zwischen dir und deinen Teammitgliedern vermeiden, indem du das automatische Auschecken und die automatische Rückgängigmachung aktiviert lässt. Verwende revision control best practices, um Projektkonflikte zu reduzieren und besser zu verstehen, wie Kontrolle der Revision funktioniert.
Warnungen zur Konfliktvermeidung mit Auto Auschecken und Auto Rückgängig
Die Unreal Revision Control hilft, die meisten Konflikte zu vermeiden, indem sie das automatische Auschecken und das automatische Rückgängigmachen standardmäßig aktiviert, wenn ein Projekt mit revision control erstellt wird.
Diese Funktionen arbeiten zusammen, um automatisch zu versuchen, ein Asset auszuchecken, wenn eine Änderung daran vorgenommen wird, und die Änderung automatisch rückgängig zu machen, wenn das Auschecken fehlschlägt. Das System gibt eine Warnung aus, um das Auftreten eines Konflikts zu verhindern.
Diese Warnungen werden vor allem in den folgenden beiden Szenarien ausgelöst:
Der Versuch, Änderungen an Assets vorzunehmen, die von einem Teamkollegen ausgecheckt wurden
Wenn du versuchst, Änderungen an einem Asset vorzunehmen, das gerade von einem Teamkollegen ausgecheckt ist, werden die Änderungen automatisch rückgängig gemacht, um zu verhindern, dass du Änderungen an Assets vornimmst, die dein Teamkollege exklusiv ausgecheckt hat.
Du musst in diesem Fall nichts unternehmen, da der Konflikt bereits vermieden wurde. Wenn du jedoch Änderungen an dem betreffenden Asset vornehmen musst, ist es am besten, wenn du dich mit deinem Teamkollegen abstimmst, um es wieder einzuchecken, seine letzten Änderungen zu synchronisieren und dann mit deinen eigenen fortzufahren.
Wenn dies zum ersten Mal geschieht, wird die folgende Warnmeldung angezeigt, die dich darüber informiert, welche deiner Änderungen rückgängig gemacht wurden und an wen sie ausgecheckt sind. Wenn du dies jedes Mal sehen möchtest, deaktiviere das Kontrollkästchen „Nicht mehr anzeigen“.
Anschließend wirst du durch eine Toast-Benachrichtigung informiert, wenn dies geschieht.
Versuche, Änderungen an Assets vorzunehmen, werden nicht mit der neuesten Version synchronisiert
Wenn du versuchst, Änderungen an einem Asset vorzunehmen, für das du noch nicht die neueste Version synchronisiert hast, werden die Änderungen automatisch rückgängig gemacht, um zu verhindern, dass du Änderungen vornimmst, die du später nicht einchecken kannst.
In diesem Fall synchronisiere einfach die letzte Version und fahre mit deinen Änderungen fort.
Wenn dies zum ersten Mal geschieht, wird die folgende Warnmeldung angezeigt, die dich darüber informiert, welche deiner Änderungen rückgängig gemacht wurden. Wenn du dies jedes Mal sehen möchtest, deaktiviere das Kontrollkästchen „Nicht mehr anzeigen“.
Anschließend wirst du durch eine Toast-Benachrichtigung informiert, wenn dies geschieht.
Konfliktfehlermeldungen
Konflikte treten am häufigsten auf, wenn der automatische Checkout und die automatische Rückgängigmachung ausgeschaltet sind. Zu den Umständen, die zu Konflikten in der Unreal Revision Control führen, gehören:
Keine häufige Synchronisierung mit dem neuesten Stand
Änderungen vornehmen ohne vorheriges Auschecken eines Assets
Offline arbeiten
Die folgenden Abschnitte befassen sich mit Konfliktfehlern und den häufigsten Ursachen, auf die du stoßen kannst.
Nicht bei den neuesten Konflikten
Eine Art von Konflikten tritt auf, wenn du versuchst, die letzten Änderungen zu synchronisieren oder einzuchecken und Änderungen an einem Asset vorgenommen hast, das von jemand anderem in einem Snapshot geändert und eingecheckt wurde, der neuer ist als der, den du zuletzt synchronisiert hast.
In diesem Fall tritt ein Konflikt auf, weil du Änderungen an einer veralteten Version des Assets vorgenommen hast.
In diesem Fall wird dir eine Fehlermeldung angezeigt, in der du erfährst, welche(s) Asset(s) in Konflikt steht/stehen und wer die letzten Änderungen an ihnen vorgenommen hat, die du synchronisieren musst. Die einzige Möglichkeit, den Konflikt zu lösen, besteht darin, die letzten Änderungen zu synchronisieren und die eigenen zu überschreiben.
Nach der letzten Synchronisierung und dem Überschreiben kannst du die Assets, die du ändern möchtest, auschecken und anschließend deine Änderungen vornehmen und einchecken.
Überprüfte Asset-Konflikte
Eine andere Art von Konflikt tritt auf, wenn du Änderungen an einem Asset vorgenommen hast, das gerade von einer anderen Person ausgecheckt wird, und versuchst, die letzten Änderungen zu synchronisieren oder einzuchecken.
Der Konflikt entsteht, weil du Änderungen an etwas vorgenommen hast, das du nicht bearbeiten darfst, da es ausschließlich von einem Teamkollegen ausgecheckt wird.
In diesem Fall erhältst du eine Fehlermeldung, die dich darüber informiert, welche Assets du geändert hast, die du nicht ausgecheckt hast, und die Anweisung, dich mit deinem Teamkollegen abzustimmen.
Wenn du deine Änderung nicht berücksichtigen möchtest, kannst du deine Änderungen an einzelnen konfliktbehafteten Assets über das Kontextmenü der Revisionskontrolle rückgängig machen und die Synchronisation oder das Einchecken erneut versuchen.
Konflikte durch doppelte Assets
Eine dritte und seltene Art von Konflikten kann auftreten, wenn zwei Teamkollegen versehentlich Assets mit demselben Namen und Dateipfad erstellen und versuchen, diese Objekte unabhängig voneinander zu speichern und einzuchecken. Die erste Person, die eincheckt, ist erfolgreich, die zweite Person erhält eine Fehlermeldung.
Das Umbenennen des zweiten Objekts ist hier die beste Vorgehensweise, die nicht zum Löschen des Objekts führt. Eine Alternative wäre, den Speicherort des Assets in der Projekthierarchie zu ändern, denn solange der Dateipfad unterschiedlich ist, treten keine Konflikte auf.
Offline arbeiten
Obwohl einige Arbeiten offline an einem UEFN-Projekt fortgesetzt werden können, ist dies nicht ratsam. Bei der Offline-Arbeit besteht die Gefahr, dass es zu Konflikten mit Kollegen kommt, da die Assets ohne Internetverbindung nicht ausgecheckt werden können und zwei Personen gleichzeitig an derselben Sache arbeiten können.
Wenn du offline arbeitest, ist es empfehlenswert, wie folgt vorzugehen:
Sprich dich vorher mit deinen Teamkollegen ab, woran du arbeiten willst, und überprüfe nach Möglichkeit alle Assets, bevor du die Verbindung unterbrichst.
Stelle deine Internetverbindung so schnell wie möglich wieder her, synchronisiere die Daten und checke ein alle Änderungen, die du vorgenommen hast.