Настройка Git- Системы контроля версий

Настройте MATLAB в Windows

Несколько операций, таких как фиксация, слияние и получение толкаемых фиксаций, используют Git™ Hooks. Как использовать Git Hooks в Windows® с MATLAB®, установите Cygwin и добавьте его в путь библиотеки MATLAB:

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

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

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

    Если у вас нет разрешения на редактирование librarypath.txt файл, см. «Поиск Нативного метода библиотек».

  3. Перезапустите 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 для объединения ветвей. Для получения дополнительной информации смотрите Регистр двоичных файлов с Git.

Если вы работаете с длинными файлами пути, запустите эту команду в MATLAB:

!git config --global core.longpaths true

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

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

Чтобы использовать проверку подлинности 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 запрашивает, хотите ли вы переопределить их.

    Примечание

    Невозможно сгенерировать ключи SSH непосредственно в MATLAB. Сгенерируйте ключи SSH, используя ssh-keygen поставляется с установкой Git в командной строке.

  2. На 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.

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

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

    • Вставьте содержимое в поле Add SSH key в разделе SSH keys настроек учетной записи.

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

Если вы используете сторонние инструменты системы контроля версий, необходимо зарегистрировать 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 и заполните его списком двоичных файлов для регистрации.

    1. В Командном окне введите:

      edit .gitattributes

    2. Добавьте линии в файл атрибутов для каждого типа файла, который вам нужен. Для примера, *.mlapp binary.

      Совет

      Можно скопировать .gitattributes файл, который содержит список простых двоичных файлов для регистрации.

      copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files','mwgitattributes'),fullfile(pwd,'.gitattributes'))

    3. Перезапустите MATLAB, чтобы начать использовать клиент Git.

Совет

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

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

Сконфигурируйте Git помощника по учетным данным

Вы можете настроить интегрирование MATLAB Git, чтобы использовать помощника учетных данных, чтобы запоминать имена пользователей и пароли. Для всех платформ в качестве помощника учетных данных рекомендуется использовать Git Credential Manager Core.

Как использовать ядро диспетчера учетных данных в Windows:

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

  2. В разделе о выборе помощника учетных данных выберите Git Credential Manager Core.

Использование Git LFS с MATLAB

Чтобы использовать Git Large File Storage (LFS) с интегрированием MATLAB Git, установите Git и LFS командной строки.

Чтобы использовать Git LFS в Windows:

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

  2. В разделе, посвященном выбору компонентов для установки, выберите Git LFS (Большой Файл Support) и Associate .sh файлы, которые будут запускаться с Bash.

  3. В разделе о настройке PATH, выберите опцию установки Git из командной строки, а также из стороннего программного обеспечения. Эта опция добавляет Git к вашему PATH Переменная и делает его доступным во всей системе, чтобы MATLAB мог общаться с Git.

LFS использует Git Hooks. Убедитесь, что установлен Cygwin. Дополнительные сведения см. в разделе Настройка MATLAB в Windows.

MATLAB не поддерживает блокировку Git LFS. MATLAB не имеет интегрирования с такими командами LFS, как git lfs track. Использование !git lfs track вместо этого.

Похожие темы