Подготовка системы контроля версий Git

Установите клиент Git командной строки и сконфигурируйте установку MATLAB

Если вы хотите использовать Git™, чтобы объединить ветви в MATLAB®, необходимо установить клиент Git командной строки и сделать его доступным в масштабе всей системы.

Проверяйте, установлен ли Git с помощью команды !git в MATLAB. Если это ничего не возвращает, необходимо установить Git командной строки.

Операционные системыИнструкции
На Windows®

  1. Загрузите инсталлятор с https://gitforwindows.org/ и запустите его.

    • В разделе по корректировке вашего PATH, выберите опцию установки Git from the command line and also from 3rd-party software. Эта опция добавляет Git в ваш PATH переменная и делает его доступным в масштабе всей системы так, чтобы MATLAB мог связаться с Git.

    • В разделе по выбору исполняемого файла SSH выберите опцию Use OpenSSH. MATLAB только поддерживает ключи OpenSSH.

    • В разделе по конфигурированию заканчивающих линию преобразований выберите опцию Checkout as-is, commit as-is, чтобы не преобразовывать любые окончания линии в файлах.

  2. Несколько операций, таких как фиксация, слияние, и получение продвинутых фиксаций, используют Рычаги Git. Использовать Git Зацепляет Windows с MATLAB, установка Cygwin, и добавьте его в путь к библиотеке MATLAB:

    • Загрузите инсталлятор с https://www.cygwin.com / и запустите его.

    • В Окне Команды MATLAB введите edit(fullfile(matlabroot,"toolbox","local","librarypath.txt")).

      Добавьте местоположение папки интервала Cygwin в конец librarypath.txt, например, C:\cygwin64\bin.

    • Перезапустите MATLAB для изменений, чтобы вступить в силу.

  3. Перезапустите свой компьютер для изменений, чтобы вступить в силу.

На Linux®

Git доступен для большинства распределений. Установите Git для своего распределения. Например, на Debian®, установите Git путем ввода:

sudo apt-get install git

На Mac

На Индивидуалистах (10.9) или выше, запустите git от Терминала. Если вам уже не установят Git, он предложит вам устанавливать Инструменты Командной строки XCode. Для большего количества опций смотрите https://git-scm.com/doc.

Можно клонировать удаленный репозиторий как GitHub® и GitLab™ с помощью HTTPS или SSH. Чтобы предотвратить частые приглашения ко входу в систему, когда вы будете взаимодействовать со своим удаленным репозиторием с помощью HTTPS, добавьте новый открытый ключ и клонируйте репозиторий с помощью SSH вместо этого. Чтобы избежать соединения задач с помощью SSH, установите HOME переменная окружения и использование это, чтобы сохранить ваши ключи SSH. Для получения дополнительной информации смотрите аутентификацию SSH Использования с MATLAB.

Чтобы постараться не повреждать двоичные файлы, зарегистрируйте двоичные файлы перед использованием Git, чтобы объединить ветви. Для получения дополнительной информации смотрите, Регистрируют Двоичные Файлы с Git.

Используйте аутентификацию SSH с MATLAB

Чтобы предотвратить частые приглашения ко входу в систему, когда вы будете взаимодействовать со своим удаленным репозиторием с помощью HTTPS, добавьте новый открытый ключ и клонируйте репозиторий с помощью SSH вместо этого.

Интегрирование Git MATLAB использует пользователя HOME переменная окружения, чтобы определить местоположение .ssh папка, содержащая ключи SSH. Если HOME переменная окружения не установлена, или ключи SSH не хранятся правильно, вы столкнетесь с соединением задач с помощью SSH для удаленных репозиториев как GitHub и GitLab.

Использовать аутентификацию SSH в MATLAB:

  1. Используйте 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 спрашивает, хотите ли вы заменить их.

  2. Поместите свои ключи в HOME/.ssh папка. Проверять который HOME директория интегрирование Git MATLAB работает с в Окне Команды MATLAB, введите:

    getenv('HOME')
  3. Если getenv('HOME') ничего не возвращает, необходимо установить HOME переменная окружения.

    Установить HOME переменная окружения на Windows:

    • В Поле поиска Запуска, поиске и выбирают "advanced system settings".

    • Во вкладке Advanced нажмите Environment Variables.

    • В разделе User Variables нажмите New. Создайте HOME переменная окружения и задает свое значение.

    HOME переменная окружения всегда устанавливается на Linux и Mac.

  4. Сконфигурируйте свою учетную запись GitHub или GitLab, чтобы использовать ключи SSH:

    • Скопируйте содержимое .pub файл в .ssh папка.

    • Вставьте содержимое в Добавление поля ключа SSH в разделе ключей SSH ваших настроек учетной записи.

Зарегистрируйте двоичные файлы с Git

Если вы используете инструменты управления из независимого источника, необходимо указать MATLAB и расширения файла Simulink®, такие как .mlx, .mat, .fig, .mlapp, .mdl, .slx, .mdlp, .slxp, .sldd, и .p как двоичные форматы. Если вы не указываете расширения, эти инструменты могут повредить ваши файлы, когда вы представляете их путем изменения символов конца линии, расширения лексем, замены ключевыми словами или попытки автообъединить. Повреждение может произойти, используете ли вы инструменты системы контроля версий за пределами MATLAB или при попытке представить файлы из MATLAB без первой регистрации ваших форматов файлов.

Также проверяйте, что другие расширения файла указаны как двоичный файл, чтобы избежать повреждения при регистрации. Проверка и регистровые файлы, такие как файлы MEX, .xlsx, .jpg, .pdf, .docx, и т.д.

После того, как вы установите клиент Git командной строки, можно препятствовать тому, чтобы Git повредил файлы путем вставки маркеров конфликта. Для этого отредактируйте свой .gitattributes файл, чтобы зарегистрировать двоичные файлы. Для получения дополнительной информации см.:

  1. Если у вас уже нет .gitattributes файл в вашей папке песочницы, создайте один в командной строке MATLAB путем ввода:

    edit .gitattributes
  2. Добавьте эти линии на .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
    Эти линии указывают, что Git не должен делать попытку автоматического перевода строки, diff и попыток слияния для этих типов файлов.

  3. Проверяйте на другие типы файлов, вы используете это, необходимо указать как двоичный файл. Проверяйте на файлы, такие как файлы 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
  4. Перезапустите MATLAB, таким образом, можно начать использовать клиент Git.

Совет

Можно уменьшать размер репозитория Git путем сохранения моделей Simulink без сжатия. Выключение сжатия приводит к большим файлам SLX на диске, но уменьшает размер репозитория.

Чтобы использовать эту установку с новыми файлами SLX, создайте свои модели с помощью шаблона модели с набором Сжатия SLX ни к одному. Для существующих файлов SLX, сжатия набора и затем сохраняют модель. Для получения дополнительной информации смотрите Уровень Сжатия SLX Набора (Simulink).

Добавление подмодулей Git

К коду повторного использования от другого репозитория можно задать подмодули Git.

Клонировать внешний репозиторий Git как подмодуль:

  1. Щелкните правой кнопкой по Браузеру текущей папки MATLAB и выберите Source Control> Submodules.

  2. В диалоговом окне Submodules нажмите кнопку +.

  3. В диалоговом окне Add Submodule, в поле Remote, задают местоположение репозитория. Опционально, нажмите Validate.

  4. В поле Path задайте местоположение для подмодуля и нажмите OK. Диалоговое окно Submodules отображается состояние и детали подмодуля.

  5. Проверяйте сообщение о состоянии и нажмите Close.

Обновите подмодули

После использования Pull, чтобы получить последние изменения от удаленного репозитория, проверяйте, что подмодули актуальны путем нажатия на Submodules и затем нажимают Update. Если какое-либо определение подмодуля изменилось, то обновление гарантирует, что папка подмодуля содержит правильные файлы. Обновление применяется ко всем дочерним подмодулям в иерархии подмодуля.

Используйте выборку и слияние с подмодулями

Когда это необходимо, чтобы управлять добавленным подмодулем, откройте диалоговое окно Submodules.

  1. Чтобы получить последнюю версию подмодуля, в диалоговом окне Submodules, нажимают Fetch.

  2. После выборки необходимо объединить. Проверяйте сообщение Status в диалоговое окно Submodules для получения информации о вашей текущей ветви относительно удаленной ветви отслеживания в репозитории. Когда вы видите сообщение Behind, необходимо объединить в изменениях от репозитория до локальной ветви.

  3. Нажмите Branches и слияние в изменениях источника в вашей локальной ветви с помощью диалогового окна Branches. Смотрите Выборку и Слияние.

Использование нажатия, чтобы отправить изменения в репозитории подмодуля

Если вы вносите изменения в своем подмодуле и хотите передать изменения обратно в репозиторий:

  1. Выполните локальную фиксацию в родительской папке.

  2. Откройте диалоговое окно Submodules и нажмите Push.

Если вы хотите, чтобы другие пользователи получили ваши изменения в подмодуле, когда они клонируют родительскую папку, убедитесь индекс и главное соответствие.

  1. В диалоговом окне Submodules проверяйте индекс и главные значения. Индекс указывает на главную фиксацию в то время, когда вы сначала клонировали подмодуль, или когда вы в последний раз фиксировали родительскую папку. Если индекс и голова не соответствуют, необходимо обновить индекс.

  2. Чтобы обновить индекс, фиксируйте свои изменения в родительской папке, и затем нажмите Push в диалоговом окне Submodules. Это действие делает индекс, и возглавьте то же самое.

Похожие темы