Найти в Дзене
Аня про Unreal Engine

Как безопасно вносить изменения в проект с помощью веток Git

Ветки позволяют экспериментировать с проектом, не рискуя сломать рабочую версию. Все изменения сначала делаются в отдельной ветке, а уже потом, при необходимости, объединяются с основной (master-ветка). Шаг 1. В GitHub Desktop есть вкладка Current branch. В ней отображается, в какой ветке мы сейчас работаем. Чтобы создать новую ветку, кликаем Current branch > New branch и даем имя, например, New_UI. Шаг 2. Вносим изменения в проект UE. Я добавила блюпринт (BP_Test) и внесла изменения в контроллер. UE5 отмечает новые и измененные файлы следующими значками:
? (untracked) — новый файл, не добавлен в контроль версий;
+ (staged) — новый файл помечен для добавления в систему контроля версий, но еще не зафиксирован коммитом;
✔ (modified) — файл, который уже находился под контролем версий и был изменен, но его текущие изменения еще не зафиксированы в коммите. Шаг 3. Фиксируем изменения в текущей ветке. Переходим Revision Control > Submit Content. Появится окно со списком всех внесенных изменен

Ветки позволяют экспериментировать с проектом, не рискуя сломать рабочую версию. Все изменения сначала делаются в отдельной ветке, а уже потом, при необходимости, объединяются с основной (master-ветка).

Шаг 1. В GitHub Desktop есть вкладка Current branch. В ней отображается, в какой ветке мы сейчас работаем. Чтобы создать новую ветку, кликаем Current branch > New branch и даем имя, например, New_UI.

Шаг 2. Вносим изменения в проект UE.

Я добавила блюпринт (BP_Test) и внесла изменения в контроллер.

UE5 отмечает новые и измененные файлы следующими значками:
? (untracked) — новый файл, не добавлен в контроль версий;
+ (staged) — новый файл помечен для добавления в систему контроля версий, но еще не зафиксирован коммитом;
✔ (modified) — файл, который уже находился под контролем версий и был изменен, но его текущие изменения еще не зафиксированы в коммите.

-2

Шаг 3. Фиксируем изменения в текущей ветке.

Переходим Revision Control > Submit Content. Появится окно со списком всех внесенных изменений. В поле Changelist Description кратко описываем, что было сделано, это описание будет отображаться в истории Git. После этого нажимаем Submit, и изменения сохранятся в текущей ветке системы контроля версий.

-3

Изменения можно посмотреть в истории GitHub.

-4

Также текущие изменения можно посмотреть в проекте UE: ПКМ по ассету > Revision Control > Diff Against Depot. Откроется сравнение текущей версии с последней зафиксированной в системе контроля версий.

Историю изменений конкретного ассета можно открыть через: ПКМ по ассету → Revision Control → History. Выбрав нужную ревизию и нажав Diff Against Previous Revision, можно посмотреть, какие изменения были внесены по сравнению с предыдущей версией.

Как объединить ветку с изменениями с master-веткой

Если эксперимент в отдельной ветке оказался удачным, его можно добавить в основную ветку проекта.

Шаг 1. Закрываем проект в Unreal Engine.

Перед слиянием веток Unreal должен быть закрыт, чтобы избежать конфликтов с файлами.

Шаг 2. Открываем GitHub Desktop.

На панели Current repository должен быть выбран нужный проект, а на Current branch — master. Кликаем Current branch > Choose a branch to merge into master.

-5

Выбираем ветку для слияния, в моем случае, это New_UI и кликаем Create a merge commit.

-6

Все. Слияние веток произошло.

Во вкладке History видно, что история master-ветки теперь включает изменения из экспериментальной ветки.

Шаг 3. Удаляем ветку (по желанию).

Если ветка больше не нужна, переключаемся на нее в Current branch и кликаем Branch > Delete.

-7

На этом настройка базового рабочего процесса с Git завершена. Теперь вы можете спокойно экспериментировать с проектом, сохранять изменения и при необходимости добавлять их в основную версию.