Использовать версию Git™ предоставило проекты, когда вы добавляете проект в систему контроля версий или получаете из системы контроля версий, выберите Git
в списке Source control tool.
Если вы добавляете существующий проект в систему контроля версий Git, вы создаете локальный репозиторий Git в той песочнице. Можно задать удаленный репозиторий позже. Смотрите Добавляет Проект к Системе контроля версий
Если вы хотите клонировать удаленный репозиторий Git, чтобы создать проект, выберите New> Project> From Git на вкладке Home MATLAB®. После того, как вы зададите удаленный репозиторий, чтобы получить из, локальный репозиторий создается. Можно также вытянуть, выбрать и продвинуть изменения от и до удаленного репозитория. Смотрите Клон репозиторий SVN Выезда или Git-репозиторий.
Вы не можете добавить пустые папки в систему контроля версий Git. Используйте Check Project вместо этого. Смотрите Получение по запросу, Нажатие и Файлы Выборки с Git.
Чтобы использовать сервер Git в вашем удаленном репозитории, можно настроить собственный сервер Git Apache™ или использовать решение для хостинга сервера Git. Если вы не можете настроить сервер и должны использовать удаленный репозиторий через файловую систему с помощью file:///
протокол, убедитесь, что это - пустой репозиторий без проверенной рабочей копии.
Чтобы сделать ваш проект общедоступным на GitHub®, см. Проект Доли на GitHub. Совместное использование добавляет систему контроля версий Git в открытый проект, и удаленным репозиторием проекта является GitHub.
Если вы хотите использовать Git, чтобы объединить ветви в MATLAB, необходимо установить клиент Git командной строки и сделать его доступным в масштабе всей системы.
Проверяйте, установлен ли Git с помощью команды !git
в MATLAB. Если это ничего не возвращает, необходимо установить Git командной строки.
Операционные системы | Инструкции |
---|---|
На Windows® |
|
На Linux® | Git доступен для большинства распределений. Установите Git для своего распределения. Например, на Debian®, установите Git путем ввода: sudo apt-get install git |
На Mac | На Индивидуалистах (10.9) или выше, запустите |
Можно клонировать удаленный репозиторий как GitHub и GitLab™ с помощью HTTPS или SSH. Чтобы предотвратить частые приглашения ко входу в систему, когда вы будете взаимодействовать со своим удаленным репозиторием с помощью HTTPS, добавьте новый открытый ключ и клонируйте репозиторий с помощью SSH вместо этого. Чтобы избежать соединения задач с помощью SSH, установите HOME
переменная окружения и использование это, чтобы сохранить ваши ключи SSH. Для получения дополнительной информации смотрите аутентификацию SSH Использования с MATLAB.
Чтобы постараться не повреждать двоичные файлы, зарегистрируйте двоичные файлы перед использованием Git, чтобы объединить ветви. Для получения дополнительной информации смотрите, Регистрируют Файлы Модели с Git.
Если вы работаете с длинными файлами пути, запускаете эту команду в MATLAB:
!git config --global core.longpaths true
Чтобы предотвратить частые приглашения ко входу в систему, когда вы будете взаимодействовать со своим удаленным репозиторием с помощью HTTPS, добавьте новый открытый ключ и клонируйте репозиторий с помощью SSH вместо этого.
Интегрирование Git MATLAB использует пользователя HOME
переменная окружения, чтобы определить местоположение .ssh
папка, содержащая ключи SSH. Если HOME
переменная окружения не установлена, или ключи SSH не хранятся правильно, вы столкнетесь с соединением задач с помощью SSH для удаленных репозиториев как GitHub и GitLab.
Использовать аутентификацию 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
спрашивает, хотите ли вы заменить их.Поместите свои ключи в HOME/.ssh
папка. Проверять который HOME
директория интегрирование Git MATLAB работает с в Окне Команды MATLAB, введите:
getenv('HOME')
Если getenv('HOME')
ничего не возвращает, необходимо установить HOME
переменная окружения.
Установить HOME
переменная окружения на Windows:
В Поле поиска Запуска, поиске и выбирают "advanced system settings".
Во вкладке Advanced нажмите Environment Variables.
В разделе User Variables нажмите New. Создайте HOME
переменная окружения и задает свое значение.
HOME
переменная окружения всегда устанавливается на Linux и Mac.
Сконфигурируйте свою учетную запись GitHub или GitLab, чтобы использовать ключи SSH:
Скопируйте содержимое .pub
файл в .ssh
папка.
Вставьте содержимое в Добавление поля ключа SSH в разделе ключей SSH ваших настроек учетной записи.
После того, как вы установите клиент Git командной строки, можно препятствовать тому, чтобы Git повредил модели Simulink® путем вставки маркеров конфликта. Для этого отредактируйте свой .gitattributes
файл, чтобы зарегистрировать файлы модели как двоичный файл. Для получения дополнительной информации см.:
Если у вас уже нет .gitattributes
файл в вашей корневой папке проекта, создайте один путем ввода в MATLAB путем ввода:
edit .gitattributes
Добавьте эти линии на .gitattributes
файл:
*.mlx -crlf -diff -merge *.mat -crlf -diff -merge *.fig -crlf -diff -merge *.mdl -crlf -diff -merge *.slx -crlf -diff -merge *.mlapp -crlf -diff -merge *.p -crlf -diff -merge *.mdlp -crlf -diff -merge *.slxp -crlf -diff -merge *.sldd -crlf -diff -merge *.slxc -crlf -diff -merge *.mlproj -crlf -diff -merge *.mldatx -crlf -diff -merge *.slreqx -crlf -diff -merge *.sfx -crlf -diff -merge *.sltx -crlf -diff -merge
Проверяйте на другие типы файлов, которые вы используете в своих проектах, которые необходимо указать как двоичный файл. Проверяйте на файлы, такие как файлы MEX (.mexa64
, .mexmaci64
, .mexw64
), .xlsx
, .jpg
, .pdf
, .docx
, и т.д. Добавьте линию на файл атрибутов для каждого типа файла, в котором вы нуждаетесь.
*.mexa64 -crlf -diff -merge *.mexw64 -crlf -diff -merge *.mexmaci64 -crlf -diff -merge *.xlsx -crlf -diff -merge *.docx -crlf -diff -merge *.pdf -crlf -diff -merge *.jpg -crlf -diff -merge *.png -crlf -diff -merge
Перезапустите MATLAB, таким образом, можно начать использовать клиент Git с проектом.
После того, как вы установили клиент Git командной строки и зарегистрировали ваши файлы модели как двоичный файл, можно использовать функции слияния Git в проектах.
Можно уменьшать размер репозитория Git путем сохранения моделей Simulink без сжатия. Выключение сжатия приводит к большим файлам SLX на диске, но уменьшает размер репозитория.
Чтобы использовать эту установку с новыми файлами SLX, создайте свои модели с помощью шаблона модели с набором Сжатия SLX ни к одному. Для существующих файлов SLX, сжатия набора и затем сохраняют модель. Для получения дополнительной информации смотрите Уровень Сжатия SLX Набора.
К коду повторного использования от другого репозитория можно задать подмодули Git, чтобы включать в проект.
Клонировать внешний репозиторий Git как подмодуль:
На вкладке Project, в разделе Source Control, нажимают Submodules.
В диалоговом окне Submodules нажмите кнопку +.
В диалоговом окне Add Submodule, в поле Remote, задают местоположение репозитория. Опционально, нажмите Validate.
В поле Path задайте местоположение для подмодуля в вашем проекте и нажмите OK. Диалоговое окно Submodules отображается состояние и детали подмодуля.
Проверяйте сообщение о состоянии и нажмите Close, чтобы возвратиться к вашему проекту.
После использования Pull на проекте верхнего уровня проверяйте, что подмодули актуальны путем нажатия на Submodules и затем нажимают Update. Если какое-либо определение подмодуля изменилось, то обновление гарантирует, что папка подмодуля содержит правильные файлы. Обновление применяется ко всем дочерним подмодулям в иерархии подмодуля.
Когда это необходимо, чтобы управлять подмодулем, откройте диалоговое окно Submodules.
Чтобы получить последнюю версию подмодуля, в диалоговом окне Submodules, нажимают Fetch.
После выборки необходимо объединить. Проверяйте сообщение Status в диалоговое окно Submodules для получения информации о вашей текущей ветви относительно удаленной ветви отслеживания в репозитории. Когда вы видите сообщение Behind
, необходимо объединить в изменениях от репозитория до локальной ветви.
Нажмите Branches и слияние в изменениях источника в вашей локальной ветви с помощью диалогового окна Branches. Смотрите Получение по запросу, Выборку и Слияние.
Если вы вносите изменения в своем подмодуле и хотите передать изменения обратно в репозиторий:
Выполните локальную фиксацию в родительском проекте.
Откройте диалоговое окно Submodules и нажмите Push.
Если вы хотите, чтобы другие пользователи проекта получили ваши изменения в подмодуле, когда они клонируют родительский проект, убедитесь индекс и главное соответствие.
В диалоговом окне Submodules проверяйте индекс и главные значения. Индекс указывает на главную фиксацию в то время, когда вы сначала клонировали подмодуль, или когда вы в последний раз фиксировали родительский репозиторий проекта. Если индекс и голова не соответствуют, необходимо обновить индекс.
Чтобы обновить индекс, фиксируйте свои изменения в родительском проекте, и затем нажмите Push в диалоговом окне Submodules. Это действие делает индекс, и возглавьте то же самое.