Управление версиями
Системы контроля версий или VCS (Git, SVN, Perforce, Mercurial, Bazaar, CVS, TFS и т.д.) используются для управления изменениями в коде и данных и позволяют командам разработчиков координировать свою работу. Для эффективного отслеживания изменений и сокращения объема требуемого дискового пространства нужно знать, какие файлы должны отслеживаться VCS, а какие можно игнорировать.
Список игнорирования#
В любом проекте есть файлы и папки, для которых не требуется контроль версий. Это могут быть файлы, созданные компилятором, *.obj, *.tlog или конечная папка, используемая для хранения двоичных исполняемых файлов.
Следующие файлы и папки в корневом каталоге вашего проекта можно игнорировать, поскольку они автоматически создаются на вашем диске:
Общий список игнорирования для любого API и IDE#
- .thumbnails
- bin
Добавьте эту папку в систему контроля версий перед обновлением версии движка или перенастройкой проекта в SDK Браузере, чтобы предоставить всем разработчикам обновленную версию папки bin.
- data/.thumbnails
- data/microprofile_dump_html
- junk
- obj
- source/x64
- CMakeCache.txt
- source/**/*.obj
- unigine_editor.cfg
- *.cache
- *.modified
- *.tlog
.thumbnails
bin
data/.thumbnails
data/microprofile_dump_html
junk
obj
source/x64
CMakeCache.txt
source/**/*.obj
unigine_editor.cfg
*.cache
*.modified
*.tlog
Дополнительный список игнорирования для проектов на C++ (CMake)#
Добавьте эти строки в общий .gitignore, указанный выше, при разработке проектов на основе C++ (CMake).
- build-*
- CMakeFiles
- CMakeScripts
- CMakeCache.txt
- cmake_install.cmake
- CMakeUserPresets.json
- compile_commands.json
- CTestTestfile.cmake
build-*
CMakeFiles
CMakeScripts
CMakeCache.txt
cmake_install.cmake
CMakeUserPresets.json
compile_commands.json
CTestTestfile.cmake
Дополнительный список игнорирования для проектов на C++ (Visual Studio 2015+)#
Добавьте эти записи в общий .gitignore, указанный выше, при разработке проектов на основе C++ (Visual Studio 2015+).
- .vs
- *.vcxproj.user
- *.VC.db
- *.opendb
- *.opensdf
- *.pro.user
- *.sdf
- *.suo
.vs
*.vcxproj.user
*.VC.db
*.opendb
*.opensdf
*.pro.user
*.sdf
*.suo
Файлы и папки для добавления в систему управления версиями#
Следующие файлы и папки должны учитываться системой контроля версий:
папка data со всем ее содержимым
Если вы не хотите делиться настройками редактора и приложения с другими членами команды, добавьте в .gitignore следующие файлы конфигурации:
- data/configs/unigine.user
- data/configs/default.user
- data/.editor2/*
В этой папке также содержатся файлы среды выполнения — рантаймы (data/.runtimes), которые нужно закоммитить. Однако, если вы случайно не закоммитили рантаймы, при запуске редактора UNIGINE будет запущен процесс проверки рантаймов, а отсутствующие/устаревшие рантаймы будут добавлены/обновлены. Валидация рантаймов также проводится при подключении новой точки монтирования.
-
содержимое папки source, за исключением элементов, упомянутых выше
Эта папка создается только для проектов, использующих C++ или C# API. -
файлы *.cache, содержащие скомпилированный шейдерный кэш
Когда члены команды разрабатывают проект, используя разные графические процессоры или/и версию драйвера для своей конфигурации компьютера, лучше добавить файлы шейдерного кэша в .gitignore, поскольку эти файлы будут перекомпилированы компьютером конечного разработчика. - файл *.project (и *.csproj для проектов на C#)
Другие уведомления#
В этой главе содержатся рекомендации, основанные на пользовательском опыте.
Perforce#
- Установите атрибут Allwrite в поле Perforce Workspace (вкладка Advanced). По умолчанию он отключен, что может вызвать проблемы с браузером SDK и файлом *.project.
- Получение файла из репозитория и блокировка файла не мешает другим пользователям изменять его, поскольку это всего лишь абстракция Perforce.