Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- Все упоминания сторонних GUI-клиентов заменены на SourceGit. - Добавлена подробная пошаговая инструкция по проверке и инициализации Git LFS. - Добавлена инструкция по первому импорту и скачиванию пакетов зависимостей Unity.
111 lines
10 KiB
Markdown
111 lines
10 KiB
Markdown
# Инструкция по подготовке проекта для дизайнеров
|
||
|
||
В этом руководстве подробно описаны шаги, необходимые для настройки рабочего окружения, установки зависимостей, скачивания проекта и организации совместной работы с использованием Git-клиента **SourceGit**.
|
||
|
||
---
|
||
|
||
## Шаг 1. Установка Git и Git LFS
|
||
|
||
Для работы с файлами проекта (включая тяжелые текстуры и PSD-спрайты) вам понадобится система контроля версий Git с поддержкой технологии LFS (Large File Storage).
|
||
|
||
1. **Скачайте и установите Git:**
|
||
- Перейдите на официальный сайт [git-scm.com](https://git-scm.com/) и скачайте дистрибутив для вашей операционной системы (Windows или macOS).
|
||
- При установке рекомендуется оставлять все настройки по умолчанию. Убедитесь, что галочка **Git LFS (Large File Storage)** активна во время выбора компонентов.
|
||
2. **Инициализируйте Git LFS на вашем компьютере:**
|
||
- После завершения установки откройте консоль (в Windows — нажмите `Win + R`, введите `cmd` и нажмите Enter; либо найдите и запустите программу **Git Bash**).
|
||
- Выполните команду:
|
||
```bash
|
||
git lfs install
|
||
```
|
||
- Должно появиться сообщение: `Git LFS initialized.` Это означает, что теперь большие файлы будут скачиваться корректно в виде реальных ассетов, а не текстовых ссылок.
|
||
3. **Убедитесь, что всё работает:**
|
||
- Проверьте версию Git LFS командой:
|
||
```bash
|
||
git lfs --version
|
||
```
|
||
|
||
---
|
||
|
||
## Шаг 2. Установка GUI-клиента SourceGit
|
||
|
||
Чтобы не работать через командную строку, мы используем бесплатный Git-клиент с открытым исходным кодом **SourceGit**. Он очень быстрый, удобный и поддерживает работу с ветками и блокировками файлов из коробки.
|
||
|
||
1. **Скачайте SourceGit:**
|
||
- Перейдите на сайт проекта [sourcegit.dev](https://sourcegit.dev/) или скачайте последнюю версию напрямую со страницы релизов на GitHub: [github.com/sourcegit-scm/sourcegit/releases](https://github.com/sourcegit-scm/sourcegit/releases).
|
||
2. **Установите и запустите программу.**
|
||
3. В настройках SourceGit (Preferences) укажите путь к установленному `git.exe` (обычно программа находит его автоматически) и ваши данные пользователя (Имя и Email), которые вы используете для коммитов.
|
||
|
||
---
|
||
|
||
## Шаг 3. Установка Unity Hub и Unity Editor
|
||
|
||
Наш проект работает на конкретной версии Unity, и все зависимости пакетов привязаны к ней.
|
||
|
||
1. **Скачайте и установите Unity Hub:**
|
||
- Зайдите на сайт [unity.com/download](https://unity.com/download) и загрузите Unity Hub.
|
||
- Запустите его и авторизуйтесь под своей учетной записью Unity (или создайте её, если у вас её ещё нет).
|
||
2. **Установите нужную версию редактора Unity:**
|
||
- Версия нашего проекта: **`6000.3.16f1`** (Unity 6).
|
||
- **Как установить:** В Unity Hub перейдите в раздел **Installs**, нажмите **Install Editor**, выберите вкладку **Archive** (или найдите эту версию в поиске) и установите её.
|
||
- **Важно:** При выборе модулей во время установки (Add modules) обязательно выберите **Windows Build Support** (или поддержку той платформы, на которой вы работаете), чтобы проект мог компилироваться локально.
|
||
|
||
---
|
||
|
||
## Шаг 4. Клонирование репозитория и первый запуск
|
||
|
||
1. **Получите ссылку на репозиторий:**
|
||
- Зайдите в веб-интерфейс нашей Gitea и скопируйте HTTPS-ссылку на репозиторий проекта.
|
||
2. **Клонируйте проект через SourceGit:**
|
||
- В SourceGit нажмите кнопку **Clone** (или `Ctrl + N` -> Clone).
|
||
- В поле **Remote URL** вставьте скопированную ссылку на Gitea.
|
||
- В поле **Local Path** укажите пустую папку на вашем быстром диске (рекомендуется SSD), куда будет скачан проект.
|
||
- Нажмите **Clone**. При запросе логина и пароля введите свои учетные данные от Gitea.
|
||
- *Обратите внимание:* Из-за скачивания графических ассетов (LFS) первый клон может занять длительное время.
|
||
3. **Импорт зависимостей Unity:**
|
||
- Откройте **Unity Hub**.
|
||
- Нажмите кнопку **Add** -> **Add project from disk** и укажите папку, в которую вы клонировали проект через SourceGit.
|
||
- Нажмите на проект в списке, чтобы запустить его.
|
||
- При первом запуске Unity обнаружит файл `Packages/manifest.json` и автоматически скачает все необходимые зависимости проекта (TextMeshPro, 2D Animation, Universal RP, тайлсеты и др.) из реестра пакетов Unity.
|
||
- Дождитесь окончания импорта ассетов и генерации библиотеки (это может занять от 5 до 15 минут в зависимости от мощности ПК).
|
||
|
||
---
|
||
|
||
## Шаг 5. Настройка слияния файлов (UnityYAMLMerge)
|
||
|
||
Поскольку сцены и префабы Unity представляют собой текстовые файлы YAML, Git может автоматически решать конфликты при слиянии веток, если подключить официальную утилиту слияния от Unity.
|
||
|
||
1. Откройте папку с проектом. Включите отображение скрытых папок в вашей операционной системе и перейдите в скрытую папку `.git`.
|
||
2. Найдите файл `config` и откройте его в любом текстовом редакторе (например, VS Code, Notepad++ или Блокнот).
|
||
3. Добавьте в самый конец файла конфигурацию драйвера слияния (путь к редактору Unity может отличаться, если вы установили его в другое место):
|
||
|
||
```ini
|
||
[merge "unityyamlmerge"]
|
||
name = Unity SmartMerge
|
||
driver = 'C:/Program Files/Unity/Hub/Editor/6000.3.16f1/Editor/Data/Tools/UnityYAMLMerge.exe' merge -p "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
|
||
trustExitCode = true
|
||
```
|
||
|
||
---
|
||
|
||
## Шаг 6. Работа с ветками и блокировками файлов (LFS Locks)
|
||
|
||
Сцены (`.unity`), префабы (`.prefab`) и контроллеры анимации (`.controller`) нельзя изменять одновременно нескольким людям. Чтобы защитить файлы от перезаписи, используйте систему блокировок в SourceGit.
|
||
|
||
### 1. Начало работы
|
||
* Перед тем как начать вносить изменения, в SourceGit переключитесь на вашу персональную ветку (например, `designer/graphics-1`, `designer/graphics-2` или `designer/anim`).
|
||
* Обязательно сделайте **Pull** (Стянуть), чтобы получить самые свежие изменения от команды.
|
||
|
||
### 2. Блокировка файла (Lock)
|
||
* Если вы планируете редактировать существующую сцену или префаб (например, `Assets/Resources/Prefabs/Player.prefab`):
|
||
1. В SourceGit найдите этот файл в репозитории.
|
||
2. Нажмите на него правой кнопкой мыши и выберите **LFS -> Lock** (Заблокировать).
|
||
3. Теперь файл закреплен за вами. Никто другой не сможет отправить изменения этого файла на сервер, пока блокировка активна.
|
||
|
||
### 3. Завершение работы (Unlock)
|
||
* Внесите изменения в Unity, сохраните сцену/префаб.
|
||
* В SourceGit сделайте коммит и отправьте изменения на сервер (**Push**).
|
||
* После успешной отправки нажмите правой кнопкой мыши на файл и выберите **LFS -> Unlock** (Разблокировать), чтобы вернуть файл в общий доступ для коллег.
|
||
|
||
> [!WARNING]
|
||
> Никогда не редактируйте общие сцены и префабы без предварительного LFS Lock! Это убережет проект от поломок, а вас — от необходимости переделывать работу заново.
|