Управление версиями
Системы контроля версий или 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.