Несколько операций, таких как фиксация, слияние и получение вставленных фиксаций, используют Git™ Hooks. Чтобы использовать Git Hooks в Windows ® с MATLAB ®, установите Cygwin и добавьте его в путь к библиотеке MATLAB:
Загрузите установщик из https://www.cygwin.com/. Запустите программу установки.
В окне команды MATLAB введите edit(fullfile(matlabroot,"toolbox","local","librarypath.txt")).
Добавить расположение папки Cygwin bin в конец librarypath.txt, например, C:\cygwin64\bin.
Если у вас нет разрешения на изменение librarypath.txt см. раздел Поиск собственных библиотек методов.
Перезапустите MATLAB, чтобы изменения вступили в силу.
Для использования Git LFS или помощника по учетным данным необходимо также установить Git в командной строке. Дополнительные сведения см. в разделах Использование Git LFS с MATLAB и Настройка модуля поддержки учетных данных Git.
Можно клонировать удаленный репозиторий, например GitHub ® и GitLab™, с помощью HTTPS или SSH. Чтобы предотвратить частые запросы входа при взаимодействии с удаленным репозиторием с помощью HTTPS, настройте диспетчер учетных данных Git для запоминания учетных данных или добавления нового открытого ключа и клонируйте репозиторий с помощью SSH. Дополнительные сведения см. в разделах Настройка модуля поддержки учетных данных Git и Использование SSH-аутентификации с MATLAB.
Для новых проектов в системе управления версиями Git MATLAB автоматически регистрирует двоичные файлы, чтобы предотвратить повреждение при слиянии. Для существующих проектов зарегистрируйте двоичные файлы, прежде чем использовать Git для объединения ветвей. Дополнительные сведения см. в разделе Регистрация двоичных файлов с помощью Git.
При работе с файлами длинного пути выполните следующую команду в MATLAB:
!git config --global core.longpaths trueЧтобы предотвратить частые запросы входа при взаимодействии с удаленным репозиторием с помощью HTTPS, добавьте новый открытый ключ и скопируйте репозиторий с помощью SSH.
Для использования аутентификации SSH в MATLAB:
Использовать ssh-keygen для создания допустимых ключей SSH. В командной строке введите:
ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\username/.ssh/id_rsa): Created directory 'C:\Users\username/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\username/.ssh/id_rsa. Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub. The key fingerprint is: SHA256:/Nc9/tnZ7Dmh77+iJMxmPVrlPqaFd6J1j1YRXEk3Tgs company\username@us-username
ssh-keygen подтверждает, где сохранить ключ (например, .ssh/id_rsa) и просит ввести парольную фразу. Если вы не хотите вводить пароль при использовании ключа, оставьте парольную фразу пустой. Если у вас уже есть ключи в указанной папке, ssh-keygen спрашивает, хотите ли вы переопределить их.Примечание
Невозможно создать ключи SSH непосредственно в MATLAB. Создание ключей SSH с помощью ssh-keygen поставляется с установкой Git в командной строке.
На Linux и Mac поместите ключи в HOME/.ssh папка. Чтобы проверить, какие HOME каталог, с которым работает интеграция MATLAB Git, в окне команд MATLAB введите:
getenv('HOME')Для использования нескольких клавиш или клавиш с переходными фразами используйте агент SSH. Если агент SSH запущен, MATLAB ищет ключи в агенте перед просмотром HOME/.ssh.
В Windows поместите ключи в USERPROFILE/.ssh или HOME/.ssh папка. Чтобы проверить, какие USERPROFILE каталог, с которым работает интеграция MATLAB Git, в окне команд MATLAB введите:
getenv('USERPROFILE')Чтобы использовать несколько клавиш или клавиш с переходными фразами, используйте Pageant в качестве агента SSH. Если Pageant запущен, MATLAB ищет ключи в Pageant, прежде чем искать в USERPROFILE/.ssh.
Настройте учетную запись GitHub или GitLab для использования ключей SSH:
Копировать содержимое .pub в файле .ssh папка.
Вставьте содержимое в поле Добавить ключ SSH в разделе Ключи SSH параметров учетной записи.
При использовании сторонних средств управления версиями необходимо зарегистрировать расширения файлов MATLAB и Simulink ®, такие как.mlx, .mat, .fig, .mlapp, .mdl, .slx, .mdlp, .slxp, .sldd, и .p как двоичные форматы. Если расширения не зарегистрированы, эти инструменты могут повредить файлы при их отправке, изменив символы конца строки, развернув маркеры, подставив ключевые слова или попытавшись сделать их автоматическими. Повреждение может произойти при использовании средств управления версиями вне MATLAB или при попытке отправки файлов из MATLAB без предварительной регистрации форматов файлов.
Также убедитесь, что другие расширения файлов зарегистрированы как двоичные, чтобы избежать повреждения при возврате. Проверка и регистрация файлов, таких как MEX-файлы, .xlsx, .jpg, .pdf, .docxи т.д.
Вы можете предотвратить повреждение файлов Git, зарегистрировав двоичные файлы в .gitattributes файл.
Для новых проектов и проектов, переключившихся из другой системы управления версиями, MATLAB автоматически создает .gitattributes и заполняет его списком двоичных файлов для регистрации. Это указывает на то, что Git не должен выполнять автоматические попытки передачи строк, diff и слияния для зарегистрированных файлов.
Для существующих проектов создайте .gitattributes и заполните его списком двоичных файлов для регистрации.
В окне команд введите:
edit .gitattributes
Добавьте строку в файл атрибутов для каждого нужного типа файлов. Например, *.mlapp binary.
Совет
Можно скопировать .gitattributes , который содержит список обычных двоичных файлов для регистрации.
copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files','mwgitattributes'),fullfile(pwd,'.gitattributes'))
Перезапустите MATLAB, чтобы начать работу с клиентом Git.
Совет
Можно уменьшить размер репозитория Git, сохранив модели Simulink без сжатия. Отключение сжатия приводит к увеличению количества SLX-файлов на диске, но уменьшает размер репозитория.
Чтобы использовать эту настройку с новыми файлами SLX, создайте модели, используя шаблон модели со значением «Нет» для параметра «Сжатие SLX». Для существующих файлов SLX установите сжатие и сохраните модель. Дополнительные сведения см. в разделе Установка уровня сжатия SLX (Simulink).
Можно настроить интеграцию MATLAB Git для использования помощника по учетным данным для запоминания имен пользователей и паролей. Для всех платформ в качестве помощника по учетным данным рекомендуется использовать Git Credential Manager Core.
Использование ядра диспетчера учетных данных в Windows:
Загрузите установщик из https://gitforwindows.org/ и запустите его.
В разделе по выбору помощника по учетным данным выберите Git Credential Manager Core.
Для использования Git Large File Storage (LFS) с интеграцией MATLAB Git установите Git и LFS командной строки.
Для использования Git LFS в Windows:
Загрузите установщик из https://gitforwindows.org/ и запустите его.
В разделе, посвященном выбору устанавливаемых компонентов, выберите Git LFS (поддержка больших файлов) и Associate .sh files to Bash.
В разделе по корректировке PATHвыберите опцию установки Git в командной строке, а также из стороннего программного обеспечения. Этот параметр добавляет Git к вашему PATH и делает его доступным для всей системы, чтобы MATLAB мог взаимодействовать с Git.
LFS использует Git Hooks. Убедитесь, что установлен Cygwin. Дополнительные сведения см. в разделе Настройка MATLAB в Windows.
MATLAB не поддерживает блокировку Git LFS. MATLAB не интегрирован с командами LFS, такими как git lfs track. Использовать !git lfs track вместо этого.