Можно использовать проекты для работы с файлами под системой контроля версий. Система контроля версий хранит файлы в репозитории, позволяет извлекать файлы из репозитория для работы с ним и обратно в него для сохранения изменений и позволяет видеть историю различных версий файлов, которые были возвращены. Для получения дополнительной информации об использовании системы контроля версий в продуктах MathWorks, смотрите Об интеграции с системой контроля версий MathWorks.
Проекты интегрируются с двумя системами контроля версий, Git™ и Subversion® (SVN).
Чтобы настроить проект с системой контроля версий, используйте любой из следующих рабочих процессов:
Создайте новый проект из существующего репозитория.
Добавьте существующий проект в систему контроля версий.
Создайте новый проект в папке, уже находящейся под системой контроля версий.
Создайте новый GitHub® репозиторий нового или существующего проекта.
Затем, когда ваш проект находится под системой контроля версий, можно выполнить операции из MATLAB® такие как возврат и вывод файлов, выполнение проверок, а также фиксация и возврат изменений.
Существует четыре способа настроить проект с системой контроля версий.
Создайте новую локальную копию проекта из существующего репозитория путем извлечения файлов из системы контроля версий. Можно клонировать репозиторий Git, или извлечь файлы из репозитория SVN, или использовать другое интегрирование с системой контроля версий.
Чтобы создать новый проект из существующего репозитория:
На вкладке Home щелкните New> Project> From Git или New> Project> From SVN. Откроется диалоговое окно Новый проект из системы контроля версий.
Если вы знаете местоположение вашего репозитория, вставьте его в Repository path поле.
В противном случае, чтобы просмотреть и проверить путь репозитория для извлечения файлов из, нажмите Change.
В диалоговом окне укажите URL-адрес репозитория путем ввода или вставки URL-адреса в поле, выбора из списка последних репозиториев или нажатия кнопки.
Щелкните Validate, чтобы проверить путь к репозиторию. Если путь недопустим, проверьте URL-адрес в браузере репозитория системы контроля версий.
Если вы видите диалоговое окно аутентификации для своего репозитория, введите данные для входа в систему, чтобы продолжить.
При необходимости выберите более глубокую папку в дереве репозитория. С помощью SVN можно взять на изменение trunk
или папку ветви в tags
.
Завершив указание URL-адреса, который необходимо получить, нажмите кнопку OK. Диалоговое окно закроется, и вы вернетесь в диалоговое окно «Новый проект из системы контроля версий».
В Sandbox поле выберите рабочую папку, в которую необходимо поместить извлеченные файлы для нового проекта. С SVN используйте локальную папку для достижения наилучших результатов, поскольку использование сетевой папки происходит медленно.
Нажмите Retrieve.
Если ваш репозиторий уже содержит проект, проект будет готов, когда инструмент завершит извлечение файлов в выбранную папку песочницы.
Если ваша песочница еще не содержит проект, то диалоговое окно спрашивает, хотите ли вы создать проект в папке. Чтобы создать проект, укажите имя проекта и нажатия кнопки OK. Экран приветствия поможет вам настроить новый проект. Дополнительные сведения о настройке проекта см. в разделе Настройка проекта.
Если вы столкнулись с такими ошибками, как OutOfMemoryError: Java heap space
при клонировании больших репозиториев Git редактируйте настройки MATLAB, чтобы увеличить размер кучи.
На вкладке Home, в разделе Environment, нажмите Preferences.
Выберите MATLAB > General > Java Heap Memory.
Переместите ползунок, чтобы увеличить размер кучи, и нажмите OK.
Перезапустите MATLAB.
Если у вас есть существующий проект, можно добавить его в систему контроля версий Git или SVN.
Чтобы добавить проект в систему контроля версий:
На вкладке Project, в разделе Source Control, нажмите Use Source Control. Откроется диалоговое окно Информация о системе контроля версий.
Нажмите кнопку Add Project to Source Control. Откроется диалоговое окно Добавить в систему контроля версий.
В списке Source control tool выберите правый инструмент для репозитория. Если вы выбираете Git, пропустите шаг 4 и перейдите сразу к шагу 5.
Если вы используете удаленный репозиторий SVN, нажмите кнопку Изменить, чтобы выбрать существующий репозиторий или создать новый.
Чтобы указать существующий репозиторий, нажмите кнопку для поиска репозитория, вставьте URL-адрес в поле или используйте список для выбора последнего репозитория.
Чтобы создать новый репозиторий, нажмите кнопку. Дополнительные сведения о создании нового репозитория см. в разделе Создание нового репозитория.
Щелкните Validate, чтобы проверить путь к выбранному репозиторию, а затем нажмите OK.
Щелкните Convert, чтобы закончить добавление проекта в систему контроля версий.
Проект запускает проверку целостности.
После выполнения проверок целостности нажмите кнопку Open Project, чтобы вернуться к своему проекту.
В проекте отображаются подробные сведения о текущем инструменте системы контроля версий и местоположении репозитория.
Если вы создали новый репозиторий, выберите Files > Modified view и нажатия кнопки Commit, чтобы зафиксировать первую версию ваших файлов в новом репозитории. В диалоговом окне введите комментарий, если хотите, и нажатие кнопки Submit.
Если необходимо объединить ветви с Git, необходимо выполнить дополнительные шаги настройки. Для получения дополнительной информации смотрите Настройка системы контроля версий Git.
Если требуется использовать версию SVN, отличную от встроенной, см. раздел «Настройка системы контроля версий SVN».
Если вы создаете новый проект из папки, которая уже находится под системой контроля версий, MATLAB может автоматически добавить новый проект в систему контроля версий. После создания проекта нажмите кнопку Detect. Дополнительные сведения о создании проекта из папки см. в разделе Создание проектов.
Создание репозитория GitHub добавляет систему контроля версий Git к вашему новому или существующему проекту. Созданный вами репозиторий GitHub становится удаленным репозиторием проекта. Чтобы создать репозиторий GitHub, необходимо иметь учетную запись GitHub.
Чтобы создать пустой проект и удаленный репозиторий GitHub:
На вкладке Home щелкните New > Project > From Git.
Выберите New > GitHub Repository. В диалоговом окне GitHub введите свои User name и Password. Заполните поля Repository name и Description и нажмите Create.
MATLAB создает новый общедоступный репозиторий GitHub и заполняет поле Repository path информацией в https://github.com/myusername/mynewrepository формате.
В поле Sandbox укажите местоположение вашей песочницы. Выбранная папка должна быть пустой. Щелкните Retrieve, чтобы создать песочницу.
Чтобы подтвердить имя и создание проекта, нажмите OK.
После создания репозитория GitHub и песочницы добавьте свои файлы в песочницу. Для сложения к системе контроля версий см. раздел «Маркируйте файлы». Зафиксировать первую версию файлов в локальном репозитории, а затем перенести все изменения в удаленный репозиторий GitHub.
Совет
Если вы хотите создать удаленный репозиторий GitHub для существующего проекта, поделитесь своим проектом с GitHub.
Когда ваш проект загружен, на вкладке Project, выберите Share > GitHub. Подробные инструкции см. в разделе Публикация на GitHub в разделе Совместное использование проектов.
В этой таблице показано, как проверить на измененные файлы проекта, обновления версий, получить и управлять блокировками файлов и файлами проекта с тегами.
Действие | Процедура |
---|---|
Обновление состояния файлов проекта. | Чтобы проверить наличие локально измененных файлов, на вкладке Project, в разделе Source Control, нажмите Refresh. При обновлении запрашивается состояние локальной песочницы и проверяются изменения, внесенные другим инструментом за пределами MATLAB. Для получения дополнительной информации смотрите Обновление статуса файла SVN и Ревизия или Обновление статуса файла Git и Ревизия. |
Проверьте наличие изменений в файлах проекта. | Чтобы узнать, есть ли новая версия проекта в репозитории, в Files представлении щелкните файл правой кнопкой мыши и выберите Source Control > Check for Modifications. С помощью SVN эта опция обращается в репозиторий, чтобы проверить наличие внешних изменений. Проект сравнивает номера ревизий локального файла и версии репозитория. Если номер ревизии в репозитории больше, чем в локальной папке песочницы, то проект отображается (не последний) рядом с номером ревизии локального файла. |
Обновление всех файлов проекта. | Используя SVN, чтобы получить последние изменения всех файлов проекта, перейдите на вкладку Project, а в Source Control разделе нажмите Update. В проекте отображается диалоговое окно с перечислением всех файлов, измененных на диске. Управлять этим поведением можно с помощью Show changes on source control update выборов проекта. Для получения дополнительной информации см. раздел «Обновление состояния файла SVN» и «Редакция». Используя Git, чтобы получить последние изменения для всех файлов проекта из репозитория системы контроля версий и объединить их в текущую ветвь, перейдите на вкладку Project, а в разделе Source Control нажмите Pull. Чтобы получить изменения и объединиться вручную, на вкладке Project, в разделе Source Control, нажмите Fetch. Это обновляет все исходные ветви в локальном репозитории. При нажатии кнопки Fetch файлы песочницы не изменяются. Чтобы увидеть изменения от других, объедините в источник изменения в локальных филиалах. Для получения дополнительной информации смотрите Pull, Push и Fetch Files with Git. |
Обновление версии для выбранных файлов проекта. | Чтобы обновить выбранный набор файлов, в представлении Files щелкните правой кнопкой мыши файлы и выберите команду Source Control > Update для используемой системы контроля версий. Например, если вы используете SVN, выберите Source Control > Update from SVN, чтобы получить новые локальные копии выбранных файлов из репозитория. |
Очистить регистрационную информацию SVN. | Чтобы удалить все сохраненные учетные данные для входа в систему, на вкладке Project, в разделе Source Control, нажмите Clear Login. |
Получите блокировки файлов SVN. | Чтобы получить SVN блокировки файлов, в представлении Files выберите файлы, которые вы хотите извлечь. Щелкните правой кнопкой мыши выбранные файлы и выберите Source Control > Get File Lock. В столбце системы контроля версий SVN появляется символ блокировки. Другие пользователи не видят символ блокировки в своих песочницах, но они не могут получить блокировку файла или вернуть изменение, когда у вас есть блокировка. Чтобы просмотреть или прервать блокировки, на вкладке Project нажмите Locks. Get File Lock предназначена только для SVN. Git не имеет блокировок. |
Управление блокировками репозитория SVN. | Чтобы управлять глобальным SVN блокировками для репозитория, на вкладке Project, в разделе Source Control, нажмите Locks. Для получения дополнительной информации см. раздел «Получение блокировок файлов SVN». |
Теги к версиям файлов проекта. | Чтобы идентифицировать конкретные версии всех файлов проекта, на вкладке Project, в разделе Source Control, нажмите Tag. Задайте текст тега и нажатия кнопки OK. Тег добавляется к каждому файлу проекта. Ошибки появляются, если у вас нет |
Просмотреть изменения в файлах проекта можно с помощью представления Files > Modified. В этой таблице показано, как просмотреть список измененных файлов проекта, просмотреть историю файла и сравнить версии двух файлов.
Действие | Процедура |
---|---|
Просмотр измененных файлов проекта. | В представлении Files выберите вкладку Modified (number of files). Представление Files > Modified отображается только при использовании системы контроля версий в проекте. Совет Используйте размещение List для просмотра файлов без необходимости развертывания папок. Можно идентифицировать измененное или конфликтующее содержимое папки с помощью состояния сводных данных системы контроля версий. В представлении Files папки отображают сводное состояние системы контроля версий. Это облегчает поиск изменений в файлах, особенно конфликтующих файлах. Вы можете навести на состояние системы контроля версий (для образца, Git или SVN столбца) для папки, чтобы просмотреть подсказку, отображающую, сколько файлов внутри изменяются, конфликтуют, добавляются и удаляются. |
Обновите список измененных файлов. | Чтобы обновить список измененных файлов, на вкладке Project, в разделе Source Control, нажмите Refresh. |
Просмотр истории ревизий. | В представлении Files щелкните правой кнопкой мыши файл и выберите Source Control > Show Revisions. Чтобы просмотреть и сравнить файлы в фиксированных наборах изменений SVN, на вкладке Project, в разделе Source Control, выберите Show Log. В диалоговом окне «Ревизии файлов» выберите ревизию, чтобы просмотреть список измененных файлов. Щелкните правой кнопкой мыши файлы в нижнем списке, чтобы просмотреть изменения или сохранить ревизии. |
Сравнение ревизий. | В представлении Files щелкните правой кнопкой мыши файл и выберите Compare > Compare to Ancestor, чтобы запустить сравнение с локальным репозиторием (Git) или с последней извлеченной версией в песочнице (SVN). Инструмент сравнения отображает отчет. Чтобы сравнить другие версии файла, выберите Compare > Compare to Revision. Чтобы просмотреть отчет сравнения, выберите изменения, которые необходимо сравнить, и нажмите Compare Selected. Или выберите ревизию и нажатие кнопки Compare to Local. Для получения дополнительной информации смотрите Сравнение файлов и папок и Слияние файлов. |
Файлы определения проекта. Файлы в resources/project
папка является файлами определения проекта, сгенерированными при первом создании или внесении изменений в проект. Файлы определения проекта позволяют вам добавлять метаданные проекта к файлам, не взяв их на изменение. Примерами метаданных, которые можно изменить таким образом, являются ярлыки, метки и описание проекта. Файлы определения проекта также задают файлы, добавленные к вашему проекту. Эти файлы не являются частью проекта.
Любые изменения, которые вы вносите в ваш проект, генерируют изменения в resources/project
папка. Эти файлы хранят определение вашего проекта в XML-файлах, формат которых может быть изменен.
Вам не нужно просматривать файлы определения проекта непосредственно, кроме тех случаев, когда инструмент системы контроля версий требует слияния. Файлы показаны так, чтобы вы знали обо всех файлах, фиксируемых в системе контроля версий.
Начиная с R2020b, тип файла определения проекта по умолчанию Use multiple project files (fixed-path length). Чтобы изменить управление файлами определения проекта из типа, выбранного при создании проекта, используйте matlab.project.convertDefinitionFiles
. matlab.project.convertDefinitionFiles
сохраняет историю системы контроля версий вашего проекта.
Предупреждение
Чтобы избежать проблем слияния, не преобразуйте тип файла определения для проекта более одного раза.
Для релизов перед R2020b, если необходимо изменить управление файлами определения проекта из типа, выбранного при создании проекта:
На вкладке Home, в разделе Environment, нажмите Preferences. Выберите MATLAB > Project и в New Projects разделе выберите одну из опций под Project definition files:
Use multiple project files - помогает избежать слияния проблем с общими проектами
Use multiple project files (fixed-path length) - Лучше, если вам нужно работать с длинными путями
Use a single project file (not recommended for source control) - быстрее, но, вероятно, вызовет проблемы слияния, когда два пользователя отправят изменения в том же проекте в инструмент системы контроля версий
Создайте файл архива проекта (.mlproj
). Для получения дополнительной информации см. раздел «Совместное использование проектов» или export
.
Создайте новый проект из заархивированного проекта. Для получения дополнительной информации см. раздел «Создание проектов».
Чтобы остановить управление папкой с проектом и удалить resources/project
папка, см. matlab.project.deleteProject
.
Чтобы запустить проверки проекта, перейдите на вкладку Project и нажмите Run Checks > Check Project. Проект проверяет проблемы с целостностью проекта, такие как отсутствующие файлы, несохраненные файлы или файлы, не находящиеся под системой контроля версий. Результаты выводятся в диалоговом окне. Вы можете кликнуть для получения дополнительной информации и следовать приглашениям, чтобы исправить проблемы.
Если вы хотите проверить необходимые файлы, нажмите Dependency Analyzer, чтобы проанализировать зависимости измененных файлов. Используйте инструменты зависимостей для анализа структуры проекта.
Для получения дополнительной информации о проблемах, которые могут исправить проверки, смотрите Работа с производными файлами в проектах и Анализ зависимостей проекта.
После просмотра изменений и выполнения проверок проекта вы готовы зафиксировать измененные файлы проекта в системе контроля версий. В этой таблице показано, как зафиксировать измененные файлы проекта.
Действие | Процедура |
---|---|
Зафиксировать все измененные файлы в системе контроля версий. | В представлении Files выберите вкладку Modified (number of files). На вкладке Project, в разделе Source Control, нажмите Commit. Введите комментарии в диалоговом окне и нажмите кнопку Submit. Если вы используете Git система контроля версий, это фиксирует ваш локальный репозиторий. Если вы используете систему контроля версий SVN, это фиксирует изменения в вашем репозитории. Сообщение появляется, если вы не можете зафиксировать, так как репозиторий переместился вперед. Перед фиксацией файла необходимо обновить его версию до текущей версии HEAD. Если вы используете систему контроля версий Git, нажмите Pull. Если вы используете систему контроля версий SVN, нажмите Update. Разрешите любые конфликты перед совершением. |
Зафиксировать выбранные файлы в системе контроля версий. | В представлении Files выберите файлы, щелкните правой кнопкой мыши и выберите Source Control > Commit. Если вы фиксируете отдельные файлы, вы рискуете не зафиксировать связанные файлы определения проекта, которые отслеживают ваши файлы. Чтобы избежать этого, фиксируйте все измененные файлы. |
Нажмите файлы проекта с Git. | Чтобы отправить локальные фиксации в удаленный репозиторий, на вкладке Project, в разделе Source Control, нажмите Push. Появится сообщение, если вы не можете перенести изменения непосредственно, так как репозиторий перешел. Щелкните Fetch, чтобы извлечь все изменения из удаленного репозитория. Объедините ветви и разрешите конфликты, а затем можно подтолкнуть изменения. Для получения дополнительной информации смотрите Pull, Push и Fetch Files with Git. |
Нажмите пустые папки проекта с Git. | Вы не можете добавить пустые папки в систему контроля версий Git, поэтому вы не можете кликнуть Push и затем клонировать пустую папку. Можно создать пустую папку в проекте, но если нажать изменения и затем синхронизировать новую песочницу, пустая папка не появится в новой песочнице. Вместо этого запустите Check Project, который создает пустую папку для вас. Кроме того, чтобы перенести пустые папки в репозиторий для синхронизации других пользователей, создайте |
Создайте заглушки Git. | Git stashes хранит незафиксированные изменения для дальнейшего использования. Чтобы создать заначку, на вкладке Project, в разделе Source Control, нажмите Stashes. Откроется диалоговое окно «Заслонки». Нажмите кнопку New Stash, чтобы создать стеш, содержащий текущие измененные файлы. Для получения дополнительной информации смотрите Использование Git Stashes. |
Создайте ветвь с Git. | Чтобы создать ветвь, на вкладке Project, в разделе Source Control, нажмите Branches. Появится диалоговое окно «Ветви», в котором можно просматривать, переключать, создавать и объединять ветви. Выберите источник для новой ветви. Щелкните узел в схеме Browser ветви или введите уникальный идентификатор в текстовое поле Source. Можно ввести тег, имя ветви или уникальный префикс SHA1 хеша (для примера, |
Переключение, сравнение, сохранение и объединение ветвей с Git. | Чтобы переключаться, сравнивать, сохранять и объединять ветви, на вкладке Project, в разделе Source Control, нажмите Branches. Появится диалоговое окно «Ветви», в котором можно просматривать, переключать, создавать и объединять ветви. Для получения дополнительной информации см. Ветвь» и «Объединение с Git». |
Разрешение конфликтов. | Если вы и другой пользователь изменяете один и тот же файл в разных песочницах или в разных ветвях, при попытке зафиксировать измененные файлы появляется сообщение о конфликте. При необходимости извлеките маркеры конфликтов, сравните различия, вызывающие конфликт, и разрешите конфликт. Поиск конфликтующих файлов в представлении Files > Modified. Идентифицируйте конфликтующее содержимое папки, используя состояние сводных данных системы контроля версий. В папках отображается сводное состояние системы контроля версий. Это облегчает поиск изменений в файлах, особенно конфликтующих файлах. Можно навести на состояние системы контроля версий для папки, чтобы просмотреть всплывающую подсказку, в которой отображается количество файлов, измененных, конфликтующих, добавленных и удаленных. Совет Используйте размещение List для просмотра файлов без необходимости развертывания папок. Проверьте столбец состояния системы контроля версий (Git или SVN) на наличие файлов с красным предупреждающим символом, что указывает на конфликт. Щелкните правой кнопкой мыши конфликтующий файл и выберите View Conflicts для сравнения версий. Откроется отчет о сравнении, показывающий различия между конфликтующими файлами. Когда вы разрешите изменения и хотите зафиксировать версию в своей песочнице, щелкните правой кнопкой мыши файл и выберите Source Control > Mark Conflict Resolved. Для Git статус Branch на панели Git изменяется с MERGING на SAFE. Выберите Files > Modified view, чтобы проверить изменения. |
В этой таблице показано, как отменить изменения в файлах проекта. Дополнительные сведения об отмене изменений см. в разделе «Возврат изменений в системе контроля версий».
Действие | Процедура |
---|---|
Верните локальные изменения. | Чтобы освободить блокировки и вернуться к версии в последнем обновлении песочницы (то есть последней версии, которую вы синхронизировали или извлекли из репозитория), в Files представлении щелкните правой кнопкой мыши файлы, чтобы вернуться и выберите Source Control > Discard Local Changes and Release Locks. Чтобы отменить локальные изменения при использовании Git, щелкните правой кнопкой мыши файл и выберите Source Control > Revert Local Changes. Чтобы удалить все локальные изменения, щелкните Branches на панели Git и нажатии кнопки Revert to Head. |
Верните файл в указанную редакцию | Чтобы вернуть файл в указанную редакцию, щелкните правой кнопкой мыши файл и выберите Source Control > Revert using SVN или Source Control > Revert using Git. В диалоговом окне Revert Files выберите ревизию для возврата. Выберите ревизию, чтобы просмотреть информацию об изменении, такую как автор, дата, сообщение журнала. Нажмите Revert. Если вы вернете файл к более ранней версии и внесете изменения, вы не можете зафиксировать файл, пока не разрешите конфликт с историей репозитория. |
Верните проект к заданной редакции. | Чтобы вернуть проект к заданной ревизии, на вкладке Project, в разделе Source Control, нажмите Revert Project. В диалоговом окне Revert Files выберите ревизию для возврата. Каждая редакция в списке является набором изменений из измененных файлов. Выберите редакцию, чтобы просмотреть сведения об изменении, такие как автор, дата и сообщение журнала. После выбора версии и подтверждения правильности информации нажмите кнопку Revert. |
В целом, это лучшая практика, чтобы опустить производные и временные файлы из вашего проекта или исключить их из системы контроля версий. На вкладке Project выберите Run Checks > Check Project, чтобы проверить на производные или временные файлы. Если вы добавляете slprj
папка в проект, проверки проекта советуют вам удалить это из проекта и предложить сделать исправление.
Это также лучшая практика, чтобы исключить производные файлы, такие как .mex*
, содержимое slprj
папка, sccprj
папка или другие папки генерации кода из системы контроля версий, поскольку они могут вызвать проблемы. Для примера:
С системой контроля версий, которая может выполнять блокировку файлов, можно столкнуться с конфликтами. Если slprj
находится под системой контроля версий, и вы генерируете код, большинство файлов под slprj
измените и станьте заблокированным. Другие пользователи не могут сгенерировать код из-за ошибок разрешения файла. The slprj
папка также используется для симуляции через генерацию кода, поэтому блокировка этих файлов может оказать влияние на команду. Те же проблемы возникают и с двоичными файлами, такими как .mex*
.
Удаление slprj
часто требуется. Однако удаление slprj
вызывает проблемы, такие как ошибки «не рабочая копия», если папка находится под некоторыми системами контроля версий инструментами (для примера, SVN).
Если вы хотите сдать сгенерированный код на хранение в качестве программного продукта процесса, то обычно можно скопировать некоторые файлы из slprj
папка кэша в отдельное место, являющееся частью проекта. Таким образом, вы можете удалить папку временного кэша, когда вам нужно. Используйте packNGo
(MATLAB Coder), чтобы перечислить сгенерированные файлы кода и использовать API проекта, чтобы добавить их к проекту с соответствующими метаданными.
The slprj
папка может содержать много небольших файлов. Это может повлиять на эффективность с помощью некоторых инструментов системы контроля версий, когда каждый из этих файлов проверяется на актуальность.
Можно проверить проект на наличие файлов с несохраненными изменениями. На вкладке Project, в разделе Tools, выберите Run Checks > Show Unsaved Changes.
В диалоговом окне «Несохраненные изменения» можно увидеть файлы проекта с несохраненными изменениями. Project обнаруживает только несохраненные изменения, отредактированные в MATLAB и Simulink® редактора. Вручную проверьте изменения, отредактированные в других инструментах. Если у вас есть ссылки на проекты, файлы сгруппированы по проектам. Можно сохранить или отменить все обнаруженные изменения.
Когда вы закрываете проект, если есть файлы с несохраненными изменениями, сообщение предлагает вам сохранить или отменить изменения. Можно увидеть все файлы с несохраненными изменениями, сгруппированными по проектам, если у вас есть ссылки на проекты. Чтобы избежать потери работы, можно сохранить или отменить изменения по файлам, по проектам или глобально.
Чтобы контролировать это поведение, на вкладке Home, в разделе Environment, нажмите Preferences. Перейдите в MATLAB > Project и в разделе Project Shutdown установите или снимите флажок, помеченный Check for open project models and close them, unless they are dirty.