Контроль версий
Version Control Systems or VCS (Git, SVN, Perforce, Mercurial, Bazaar, CVS, TFS, etc.) are used to manage changes to code and data, and enable teams to coordinate their development efforts. To make tracking of changes efficient and reduce the amount of disk space required, you should know which files must be tracked by the VCS and which can be ignored.Системы контроля версий или VCS (Git, SVN, Perforce, Mercurial, Bazaar, CVS, TFS и т.д.) используются для управления изменениями в коде и данных и позволяют командам координировать свои усилия по разработке. Чтобы сделать отслеживание изменений эффективным и сократить объем требуемого дискового пространства, вы должны знать, какие файлы должны отслеживаться системой контроля версий, а какие можно игнорировать.
Ignore ListCписок игнорируемых файлов#
In any project there are files and folders that are not subject to version control. These can be files created by the compiler, *.obj, *.tlog, or an output folder used to store binary executables.В любом проекте есть файлы и папки, не подлежащие контролю версий. Это могут быть файлы, созданные компилятором, *.obj, *.tlog или выходная папка, используемая для хранения двоичных исполняемых файлов.
The following files and folders in you project's root can be ignored, as they are generated automatically on your disk:Следующие файлы и папки в корне вашего проекта можно игнорировать, так как они автоматически генерируются на вашем диске:
Common ignore list for every API and IDEОбщий список игнорирования для каждого 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
Additional ignore list for C++ (CMake) projectsДополнительный список игнорирования для проектов C++ (CMake)#
Add these entries to the common .gitignore specified above when developing projects based on 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
Additional ignore list for C++ (Visual Studio 2015+) projectsДополнительный список игнорирования для проектов C++ (Visual Studio 2015+)#
Add these entries to the common .gitignore specified above when developing projects based on 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
Files and Folders to Add to Version ControlФайлы и папки для добавления в систему контроля версий#
The following files and folders should be subject to version control:Следующие файлы и папки должны подлежать контролю версий:
data folder with all its contents data папка со всем содержимым
If you do not want to share the editor and application settings with other team members, add the following configuration files to .gitignore:- data/configs/unigine.user
- data/configs/default.user
- data/.editor2/*
- data/configs/unigine.user
- data/configs/default.user
- data/.editor2/*
This folder also contains runtime files (data/.runtimes) that should be committed. However, if you occasionally fail to commit runtimes, the runtimes validation process will run when UNIGINE Editor is started, and the missing/outdated runtimes are added/updated. The runtime validation is also performed on adding a new mount.Эта папка также содержит runtime-файлы (data/.runtimes), которые необходимо закоммитить. Однако, если по какой-либо причине вам не удастся закоммитить runtime-файлы, при запуске редактора UNIGINE будет запущен процесс валидации, и отсутствующие/устаревшие runtime-файлы будут добавлены/обновлены. Валидация runtime-файлов также выполняется при добавлении новой точки монтирования.
-
source folder contents except for the elements mentioned above содержимое папки source, за исключением элементов, упомянутых выше
This folder is created only for projects that use C++ or C# API.Эта папка создается только для проектов, использующих C++ или C# API. -
*.cache files containing compiled shader cache *.cache файлы, содержащие скомпилированный кэш шейдеров
When team members develop a project using different GPUs or/and driver’s version for their machine configuration, it is better to add the shader cache files to .gitignore since these file will be recompiled by an end developer’s computer.Когда члены команды разрабатывают проект с использованием разных графических процессоров и/или версий драйверов для своей конфигурации машины, лучше добавить файлы кэша шейдеров в .gitignore, так как эти файлы будут перекомпилированы на компьютере конечного разработчика. - *.project file (and *.csproj for C# projects) файл *.project (и *.csproj для C# проектов)
Other NoticesДругие уведомления#
This chapter contains recommendations based on the user experience.Эта глава содержит рекомендации, основанные на опыте пользователя.
PerforcePerforce#
- Set the Allwrite attribute in Perforce Workspace (the Advanced tab). It's disabled by default, which may cause issues with SDK Browser and *.project file.Установите атрибут Allwrite в Perforce Workspace (вкладка Advanced). По умолчанию он отключен, что может вызвать проблемы с браузером SDK и файлом *.project.
- Checking out and locking a file does not prevent other users from modifying it, since that's only a Perforce abstraction.Извлечение и блокировка файла не мешает другим пользователям изменять его, поскольку это всего лишь абстракция Perforce.