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