Вот шаги по обновлению Unity на всех ветках:
- В основной рабочей ветке обновите версию Unity. (Я предполагаю, что ваша основная рабочая ветвь в этом посте
master
, но dev
также является общим соглашением.)
- Зафиксировать все файлы, которые автоматически изменяются при обновлении.
- Исправлены все немедленные ошибки сборки, которые мешают запуску проекта.
- Протестируйте ваш проект, чтобы увидеть, есть ли какие-либо ошибки регрессии, представленные обновлением, и исправьте их. Зафиксируйте все необходимые исправления. (Я рекомендую делать ваши коммиты атомарными, чтобы вы могли легко просмотреть то, что вам пришлось исправить вручную в процессе обновления.)
- На всех других ваших ветках,
git rebase
на master
ветке. (Вы также можете git merge
с master
вместо перебазирования, если вы не хотите выдвигать новые перебазированные ветки. Это также зависит от контекста проекта. Для получения дополнительной информации об этом см. Посты, такие как "Слияние против ребазинга ")
- Во всех остальных ветках проверьте на ошибки сборки. В частности, поскольку вы не обновляете каждую ветку отдельно, вам нужно обновить все, что было бы обработано с помощью Unity Automatic устаревшего API Updater
- Рекомендуется: только после того, как вы подтвердите, что все ветви Unity работают локально, нажмите на все свои ветви, чтобы обновление было доступно во всех удаленных ветвях. Вы хотите иметь возможность отменить свои действия локально в случае, если вы обнаружите проблему с обновлением одной из ваших веток. Если вы столкнулись с проблемой, вы можете
git reset --hard
сделать исходный коммит.
Кроме того, вот несколько пунктов, которые облегчат обновление:
- В проекте не используется версия Unity, которая слишком устарела. Например, если вы отстали от нескольких основных версий, вам, скорее всего, придется иметь дело с более устаревшими обновлениями API.
- Ветви не слишком продолжительные. Если ветки значительно отклонились от
master
, у вас будет больше устаревших обновлений API для каждой ветки, и существует больший риск конфликтов слияния и неприятностей. (Но вы можете проверить, является ли это проблемой, прежде чем отправлять обновление Unity в удаленные филиалы.)
- Ваш проект настроен на использование видимых метафайлов
- Unity Cache Server настроен так, что будет быстрее загружать проект, когда вы будете переключаться между ветками с разными версиями Unity во время процесса обновления.
Как примечание, я считаю, что не стоит обновлять каждую ветку Unity отдельно. Тем не менее, я бы порекомендовал объединить все ветви в master
, если это возможно, или, по крайней мере, убедиться, что веток нет, поскольку это может усложнить процесс обновления.