Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Системи контролю версій
Вступ
Godot прагне бути дружнім до VCS і створювати здебільшого читабельні та об’єднувані файли.
Плагіни контролю версій
Godot також підтримує використання систем контролю версій у самому редакторі. Однак для контролю версій у редакторі потрібен плагін для певного VCS, який ви використовуєте.
Станом на жовтень 2025 року доступний лише плагін Git, але спільнота може створювати додаткові плагіни VCS.
Офіційний плагін Git
Використання Git усередині редактора підтримується офіційним плагіном. Ви можете знайти останні випуски на GitHub.
Документацію щодо використання плагіна Git можна знайти на його wiki.
Файли для виключення з VCS
Примітка
Тут перелічено файли та папки, які слід ігнорувати в системі контролю версій у Godot 4.1 і пізніших версіях.
Список файлів і папок, які слід ігнорувати в контролі версій у Godot 3.x і Godot 4.0, повністю відрізняється. Це важливо, оскільки Godot 3.x і 4.0 можуть зберігати конфіденційні облікові дані в export_presets.cfg (на відміну від Godot 4.1 і пізніших версій).
Якщо ви використовуєте Godot 3, перегляньте версію 3.6 цієї сторінки документації.
Є деякі файли та папки, які Godot автоматично створює під час першого відкриття проекту в редакторі. Щоб уникнути роздування репозиторію контролю версій згенерованими даними, ви повинні додати їх до свого ігнорування VCS:
.godot/: Ця папка зберігає різні дані кешу проекту.*.translation: Ці файли імпортовані у двійковій формі translations згенеровано з CSV-файлів.
Ви можете змусити менеджера проекту Godot автоматично генерувати для вас метадані керування версіями під час створення проекту. Якщо вибрати опцію Git, це створить файли .gitignore і .gitattributes у корені проекту:
Створення метаданих керування версіями в діалоговому вікні Новий проект менеджера проекту
У існуючих проектах виберіть меню Проект у верхній частині редактора, а потім виберіть Керування версіями > Створити метадані керування версіями. При цьому створюються ті самі файли, якби операція була виконана в менеджері проектів.
Робота з Git у Windows
Більшість клієнтів Git для Windows налаштовано з core.autocrlf встановленим на true. Це може призвести до непотрібного позначення файлів як модифікованих Git через автоматичне перетворення закінчень їх рядків. Краще встановити цей параметр як.
Цей параметр краще встановити так:
git config --global core.autocrlf input
Створення метаданих контролю версій за допомогою менеджера проекту або редактора призведе до автоматичного застосування закінчення рядків LF за допомогою файлу .gitattributes. У цьому випадку вам не потрібно змінювати конфігурацію Git.
Git LFS
Git LFS (Large File Storage) – це розширення Git, яке дозволяє керувати великими файлами у вашому репозиторії. Воно замінює великі файли текстовими вказівниками всередині Git, зберігаючи вміст файлів на віддаленому сервері. Це корисно для керування великими ресурсами, такими як текстури, аудіофайли та 3D-моделі, без перевантаження вашого репозиторію Git.
Примітка
Під час використання Git LFS вам слід переконатися, що він налаштований, перш ніж містити будь-які файли до свого репозиторію. Якщо ви вже закомітили файли до свого репозиторію, вам потрібно буде видалити їх з репозиторію та повторно додати після налаштування Git LFS.
Можна використовувати git lfs migrate для конвертації існуючих файлів у вашому репозиторії, але це більш поглиблений процес, який вимагає гарного розуміння Git.
Поширений підхід — це створення нового репозиторію за допомогою Git LFS (і належного .gitattributes), а потім копіювання файлів зі старого репозиторію до нового. Таким чином, ви можете бути впевнені, що LFS відстежує всі файли з самого початку.
Щоб використовувати Git LFS з Godot, вам потрібно встановити розширення Git LFS та налаштувати його для відстеження типів файлів, якими ви хочете керувати. Ви можете зробити це, виконавши таку команду у своєму терміналі:
git lfs install
Це створить файл .gitattributes у вашому репозиторії, який повідомлятиме Git про використання LFS для вказаних типів файлів. Ви можете додати більше типів файлів, змінивши файл .gitattributes. Наприклад, щоб відстежувати всі файли GLB, ви можете зробити це, виконавши таку команду у своєму терміналі:
git lfs track "*.glb"
Коли ви додаєте або змінюєте файли, які відстежуються LFS, Git автоматично зберігатиме їх у LFS, а не у звичайній історії Git. Ви можете надсилати та отримувати файли LFS так само, як звичайні файли Git, але пам’ятайте, що файли LFS зберігаються окремо від решти вашої історії Git. Це означає, що вам може знадобитися встановити Git LFS на будь-який комп’ютер, на який ви клонуєте репозиторій, щоб отримати доступ до файлів LFS.
Нижче наведено приклад файлу .gitattributes, який можна використовувати як відправну точку для Git LFS. Ці типи файлів були обрані, оскільки вони широко використовуються, але ви можете змінити список, включивши будь-які бінарні типи, які можуть бути у вашому проєкті.
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf
# Git LFS Tracking (Assets)
# 3D Models
*.fbx filter=lfs diff=lfs merge=lfs -text
*.gltf filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
# Images
*.png filter=lfs diff=lfs merge=lfs -text
*.svg filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.dds filter=lfs diff=lfs merge=lfs -text
# Audio
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
# Font & Icon
*.ttf filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
# Godot LFS Specific
*.scn filter=lfs diff=lfs merge=lfs -text
*.res filter=lfs diff=lfs merge=lfs -text
*.material filter=lfs diff=lfs merge=lfs -text
*.anim filter=lfs diff=lfs merge=lfs -text
*.mesh filter=lfs diff=lfs merge=lfs -text
*.lmbake filter=lfs diff=lfs merge=lfs -text
Для отримання додаткової інформації про Git LFS перегляньте офіційну документацію: https://git-lfs.github.com/ та https://docs.github.com/en/repositories/working-with-files/managing-large-files.