Контроль версий для более тесной совместной работы

Контроль версий и организация проекта необходимы для эффективной разработки игр. И хотя понимание системы контроля версий может быть сложным для человека, не имеющего технического образования, это не обязательно так.
Наша новая электронная книга " Контроль версий и лучшие практики организации проектов" поможет как техническим, так и нетехническим создателям игр принять разумные решения о том, как настроить контроль версий и спланировать продуктивную командную работу.
Электронная книга написана давним разработчиком Unity, а также другими экспертами по Unity, имеющими опыт командной разработки игр и организации проектов. Поэтому знания, собранные в этом руководстве, будут полезны самым разным разработчикам, в том числе и тем, кто только начинает работать с исходным кодом. Давайте начнем с примера основных концепций, раскрытых в электронной книге: как работает контроль версий и что он может сделать для вас.
Контроль версий позволяет вести исторический учет всего проекта. Он привносит в вашу работу организованность и обеспечивает плавную итерацию между командами.
Файлы проекта хранятся в общей базе данных, называемой репозиторием, или "repo". Регулярно создавая резервные копии проекта в репозитории, вы всегда сможете вернуться к более ранней версии проекта, если что-то пойдет не так.
С помощью системы контроля версий (VCS) вы можете вносить множество индивидуальных изменений и "фиксировать" их как единую группу для версионирования. Этот коммит становится точкой на временной шкале вашего проекта, так что если вам понадобится вернуться к предыдущей версии, всё, что было сделано в этом коммите, можно будет отменить. Фактически, вы можете просмотреть и изменить каждое изменение, сгруппированное в рамках фиксации, или полностью отменить фиксацию.
Благодаря доступу к полной истории проекта контроль версий позволяет не только определить, какие изменения привели к ошибкам, но и восстановить ранее удаленные функции, а также документировать изменения внутри игры или между выпусками продукта.
Более того, поскольку система контроля версий обычно хранится в облаке или на распределенном сервере, она поддерживает совместную работу вашей команды, где бы они ни работали, что становится все более важным преимуществом по мере того, как удаленная работа становится обычным делом.
Помимо вышеупомянутых причин, контроль версий полезен для внесения экспериментальных изменений. Например, вы можете попробовать добавить новые функции в локальную версию вашего проекта, а если что-то не получится, вернуться к чистой, функциональной версии без компромиссов.
Более того, вы можете сохранить свои изменения на более поздний срок, пока итерируете экспериментальные идеи, что особенно полезно, если вы столкнулись с серьезной проблемой в основном проекте. С помощью контроля версий вы можете вернуть свою локальную версию в основную ветку, а затем восстановить и продолжить экспериментальную работу, как только закончите.
Наконец, системы контроля версий не позволят вам случайно переписать работу товарища по команде, с чем многие из нас уже сталкивались. По мере того как вы фиксируете свою работу в репозитории, вам также нужно будет "вытягивать" из него последние обновления. Это позволит вам проверить, не работал ли кто-то еще над тем же файлом. И хотя поначалу эти страшные "конфликты слияния" могут показаться пугающими, их часто удается быстро разрешить, как только вы освоите нужные инструменты.

Скачайте бесплатную электронную книгу и получите полный набор советов от экспертов. В этом руководстве рассматриваются следующие темы:
- Централизованные и распределенные системы контроля версий
- Сравнение различных решений для контроля версий, таких как Git, Perforce и Plastic SCM
- Настройка проекта Unity с каждым из различных решений для контроля версий
- Эффективная организация проекта Unity, начиная с правильной структуры папок, заканчивая файлом .meta и стандартами именования
- Лучшие практики контроля версий, такие как сохранение чистоты и понятности сообщений коммита, отказ от беспорядочных коммитов и многое другое.
Для дальнейшего вдохновения и рекомендаций по контролю версий ознакомьтесь с этими недавними записями в блоге:
Восемь факторов, которые следует учитывать при выборе системы контроля версий
Как KO-OP использует контроль версий для улучшения командной работы
Sycoforge's Return to Nangrim демократизирует геймдев с помощью Unity и Plastic SCM