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

Используйте систему контроля версий Git в проектах

Использовать версию 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

Можно управлять моделями и использованием исходного кода проекты Gitin.

Интеграция Git с проектом предоставляет распределенной системе контроля версий поддержку создания и слияния ответвлений. Git является распределенным инструментом системы контроля версий, таким образом, можно передать изменения в локальном репозитории и позже синхронизироваться с другими удаленными репозиториями.

Git поддерживает распределенную разработку, потому что каждая песочница содержит полный репозиторий. Полная история версии каждого файла сохранена локально. Это позволяет работать оффлайн, потому что вы не должны связываться с удаленными репозиториями для каждого локального редактирования и фиксации, только при продвижении пакетов изменений. Кроме того, можно создать собственные ответвления и фиксировать локальные редактирования. Выполнение так быстро, и вы не должны объединять с другими изменениями на каждой фиксации.

Возможности системы контроля версий Git:

  • Управление ответвлением

  • Локальная полная история версии

  • Локальный доступ, который более быстр, чем удаленный доступ

  • Оффлайн работа

  • Отслеживание имен файлов и содержимого отдельно

  • Осуществление журналов изменений для трассировки отслеживаемости

  • Интегрирование пакетов изменений, когда готовый

Эти возможности не удовлетворяют каждой ситуации. Если ваш проект не подходит для оффлайновой работы, или ваш репозиторий является слишком большим для полной локальной истории версии, например, Git не является идеальной системой контроля версий. Кроме того, если необходимо осуществить блокировку файлов, прежде чем редактирование, Git не будет иметь этой способности. В той ситуации SVN является лучшим выбором.

Когда вы используете Git в проекте, вы можете:

  • Создайте локальные репозитории Git.

  • Вытяните и выберите файлы от удаленных репозиториев Git.

  • Создайте и переключите ответвления.

  • Объедините ответвления локально.

  • Фиксируйте локально.

  • Продвиньте файлы к удаленным репозиториям Git.

Эта схема представляет распределенный рабочий процесс Git.

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

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

Некоторые клиенты не доступны в масштабе всей системы, включая среду mingw32, обеспеченную GitHub (Git Shell в меню Start). Установка Git командной строки делает его доступным в масштабе всей системы, и затем проект может определить местоположение стандартных ключей ssh.

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

На Windows®:

  1. Загрузите инсталлятор Git и запустите его. Можно найти Git командной строки в:

  2. В разделе по корректировке вашего ПУТИ выберите опцию установки к Use Git from the Windows Command Prompt. Эта опция добавляет Git в вашу переменную PATH, так, чтобы проект мог связаться с Git.

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

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

sudo apt-get install git

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

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

!git config --global core.longpaths true

Внимание

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

Зарегистрируйте образцовые файлы с Git

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

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

    edit .gitattributes
    

  2. Добавьте эти строки в файл .gitattributes:

    *.slx -crlf -diff -merge
    *.mdl -crlf -diff -merge
    *.mat -crlf -diff -merge
    *.mlx -crlf -diff -merge
    Эти строки задают, чтобы не попробовать автоматический перевод строки, diff и попытки слияния для файлов Simulink и MATLAB.

  3. Проверяйте на другие типы файлов, которые вы используете в своих проектах, которые также необходимо указать как двоичный файл, чтобы избежать повреждения при регистрации. Проверяйте на файлы, такие как .mat, .mdlp, .slxp, .p, файлы MEX (.mexa64, .mexmaci64, .mexw64), .xlsx, .jpg, .pdf, .docx, и т.д. Добавьте строку в файл атрибутов для каждого типа файла, в котором вы нуждаетесь.

    Примеры:

    *.mdlp -crlf -diff -merge
    *.slxp -crlf -diff -merge
    *.sldd -crlf -diff -merge
    *.p -crlf -diff -merge
    *.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 командной строки и зарегистрировали ваши образцовые файлы как двоичный файл, можно использовать функции слияния Git в проектах.

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

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

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

  1. На вкладке Project, в разделе 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. Это действие делает индекс, и возглавьте то же самое.

Похожие темы