Я немного запутался, как использовать контроль версий в Unity, особенно с такими объектами, как сцены или префабы, которые не являются просто кодом.
У нас недавно была проблема, когда мы с коллегой работали над разными частями одной сцены. что привело к конфликтам, разветвлению и слиянию в изобилии.
В конце концов моя ревизия была отвергнута его изменениями.
Единственный способ, который я вижу в данный момент, - это то, что мы по очереди работаем над одними и теми же объектами, но это кажется не очень удобным, тем более что вся работа, которую мы сейчас выполняем, происходит в сценах.
Что люди обычно делают в этих ситуациях?
(Мы используем Mercurial, BitBucket и SourceTree.)
version-control
unity3d
Каору
источник
источник
Ответы:
Вы можете попробовать следующее решение, если вы используете GitHub.
Это прекрасно работает для меня.
источник
Большинство систем контроля версий (VCS) предназначены для текста. Они обычно имеют очень мощные и удобные функции для сравнения (
diff
) и объединения исходного кода, и некоторые инструменты могут даже автоматически объединять изменения (и делать приличную работу, пытаясь угадать, как изменения должны быть объединены и в какой момент разработчик должен предложить выполнить ручное слияние).Было бы здорово иметь лучшую поддержку
diff
и объединение двоичных файлов из соответствующих приложений, которые используют эти файлы. Например, Microsoft Word позволяет сравнивать два документа, и хотя это далеко не удобный инструмент для слияния, он все же лучше, чем ничего, и много раз экономил мне часы. К сожалению, функция слияния обычно либо отслеживается в программных продуктах, либо ее сложно реализовать (как вы визуализируетеdiff
трехмерную сцену?)Когда дело доходит до двоичных файлов, вы получаете небольшую помощь от VCS. Они не только не могут эффективно хранить последовательные изменения, но и не могут помочь вам объединить изменения.
Два года назад я задал очень похожий вопрос, касающийся использования контроля версий в программном обеспечении для редактирования видео . Я считаю, что ответы, которые были даны на мой вопрос, частично применимы и здесь, единственное (но важное) отличие состоит в том, что мой вопрос касался больших файлов, в то время как в вашем случае двоичные файлы, вероятно, относительно малы.
Подход, который вы нашли, то есть «работа по очереди на одних и тех же объектах», является хорошим. Если вы не можете объединиться, не работайте параллельно над одним и тем же материалом. Если вы работаете в одном офисе, это может быть легко сделать. Если нет, большинство систем управления версиями ( включая используемую вами ; это также обсуждается здесь в контексте BitBucket) поддерживают блокировку , которая заключается в том, чтобы пользователь VCS через систему сообщал, что он работает с данным правом файла. сейчас же; другие пользователи могут загрузить последнюю версию файла, но они не должны ее менять.
источник