Більшість систем управління версіями (VCS) розроблені для тексту. Зазвичай вони мають дуже потужні та зручні функції для порівняння ( diff
) та злиття вихідного коду, а деякі інструменти можуть навіть автоматично об'єднувати зміни (і робити гідну роботу, здогадуючись про те, як слід об'єднати зміни та в який момент розробник повинен звернутися з проханням зробити ручне злиття).
Було б чудово мати кращу підтримку diff
та об’єднання бінарних файлів із відповідних програм, які використовують ці файли. Наприклад, Microsoft Word дозволяє порівнювати два документи, і хоча це далеко не зручний інструмент для злиття, він все-таки краще, ніж нічого, і економив мені години на кілька разів. На жаль, функцію злиття зазвичай або контролюють у програмних продуктах, або важко реалізувати (як ви візуалізуєте diff
3D-сцену?)
Що стосується двійкових файлів, ви отримуєте невелику допомогу від VCS. Вони не тільки не можуть ефективно зберігати послідовні зміни, але і не можуть допомогти вам об'єднати зміни.
Два роки тому я поставив дуже схоже запитання щодо використання версій в програмі для редагування відео . Я вважаю, що відповіді, які були надані на моє запитання, також частково застосовуються і тут, єдиною (але важливою) різницею є те, що моє запитання стосувалося великих файлів, тоді як у вашому випадку двійкові файли, ймовірно, відносно невеликі.
Підхід, який ви знайшли, тобто "по черзі працювати над одними і тими ж об'єктами", є хорошим. Якщо ви не можете злитися, не працюйте паралельно над одними і тими ж матеріалами. Якщо ви працюєте в одному офісі, це можна зробити просто. Якщо ні, то більшість систем управління версіями ( включаючи ту, яку ви використовуєте ; це також обговорюється тут у контексті BitBucket) підтримують блокування , яке полягає у тому, щоб користувач VCS повідомив через систему, що він працює над заданим файлом праворуч тепер; інші користувачі можуть завантажувати останню версію файлу, але не очікується, що це змінить.