Чтобы использовать версию Git™, предоставляемую с проектами, при добавлении проекта в систему контроля версий или извлечении из системы контроля версий, выберите Git
в списке Source control tool.
Если вы добавляете существующий проект в систему контроля версий Git, вы создаете локальный репозиторий Git в этой песочнице. Вы можете задать удаленный репозиторий позже. См. раздел Добавление проекта в систему контроля версий.
Если вы хотите клонировать удаленный репозиторий Git, чтобы создать проект, на MATLAB® На вкладке Home» выберите New > Project > From Git. После того, как вы задаете удаленный репозиторий для клона, создается локальный репозиторий. Можно также извлекать, извлекать и выталкивать изменения в удаленный репозиторий и из него. См. Клон Git-репозитория.
Чтобы использовать сервер Git для своего удаленного репозитория, можно использовать решение для хостинга серверов Git или настроить свой собственный сервер Apache™ Git. Если вы не можете настроить сервер и должны использовать удаленный репозиторий через файл систему с помощью file:///
протокол, убедитесь, что это голый репозиторий без извлеченной рабочей копии.
Чтобы сделать ваш проект общедоступным на GitHub®, см. раздел «Совместное использование проекта в GitHub». Совместное использование добавляет Git систему контроля версий в открытый проект, и удаленный репозиторий проекта является GitHub.
Несколько операций, таких как фиксация, слияние и получение толкаемых фиксаций, используют Git Hooks. Как использовать Git Hooks в Windows® с помощью MATLAB установите Cygwin и добавьте его в путь библиотеки MATLAB:
Загрузите инсталлятор из https://www.cygwin.com/. Запустите инсталлятор.
В Командном Окне MATLAB введите edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))
.
Добавьте папку интервал в конец librarypath.txt
, для примера, C:\cygwin64\bin
.
Если у вас нет разрешения на редактирование librarypath.txt
файл, см. «Поиск Нативного метода библиотек».
Перезапустите MATLAB, чтобы изменения вступили в эффект.
Чтобы использовать Git LFS или помощника учетных данных, необходимо также установить Git командной строки. Для получения дополнительной информации смотрите Использование Git LFS с MATLAB и Настройка Git Credential Helper.
Можно клонировать удаленный репозиторий вроде GitHub и GitLab™ с помощью HTTPS или SSH. Чтобы предотвратить частые запросы на вход при взаимодействии с удаленным репозиторием с помощью HTTPS, сконфигурируйте диспетчер учетных данных Git, чтобы запомнить учетные данные или добавить новый открытый ключ и клонировать репозиторий вместо этого с помощью SSH. Для получения дополнительной информации см. раздел «Настройка Git Credential Helper и Использование SSH-аутентификации с MATLAB».
Для новых проектов под системой контроля версий Git MATLAB автоматически регистрирует ваши двоичные файлы, чтобы предотвратить повреждение при слиянии. Для существующих проектов зарегистрируйте двоичные файлы перед использованием Git для объединения ветвей. Для получения дополнительной информации смотрите Register Model Files with 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
папка.
Вставьте содержимое в поле Add SSH key в разделе SSH keys настроек учетной записи.
Вы можете предотвратить повреждение Git своим Simulink® моделирует путем регистрации двоичных файлов в вашем .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 none. Для существующих файлов SLX установите сжатие и затем сохраните модель. Для получения дополнительной информации смотрите Задать уровень сжатия SLX.
Вы можете настроить интегрирование 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 (Большой Файл Support) и Associate .sh файлы, которые будут запускаться с Bash.
В разделе о настройке PATH
, выберите опцию установки Git из командной строки, а также из стороннего программного обеспечения. Эта опция добавляет Git к вашему PATH
Переменная и делает его доступным во всей системе, чтобы MATLAB мог общаться с Git.
LFS использует Git Hooks. Убедитесь, что установлен Cygwin. Дополнительные сведения см. в разделе Настройка MATLAB в Windows.
MATLAB не поддерживает блокировку Git LFS. MATLAB не имеет интегрирования с такими командами LFS, как git lfs track
. Использование !git lfs track
вместо этого.