Контроль версий на основе Git

Репозитории типа Git создаются вне Altium Designer, а доступ к содержимому локального рабочего Git-репозитория осуществляется путем открытия файлов из его хост-папки. Управление как удаленными, так и локальными рабочими Git-репозиториями обычно выполняется через корпоративные системы и внешние Git-инструменты, тогда как операции на уровне файлов (Commit, Push, Update и т. п.) выполняются в среде редактирования Altium Designer.

  • Чтобы получить доступ к возможностям Git Version Control в Altium Designer, необходимо установить VCS Provider – Git программное расширение. По умолчанию это расширение устанавливается вместе с Altium Designer. Его можно установить или удалить вручную.

    Дополнительные сведения об управлении расширениями см. на странице Extending Your Installation (Altium Designer Develop, Altium Designer Agile, Altium Designer).

  • Обратите внимание, что Git-репозитории обрабатываются вне Altium Designer.

  • Хотя Git VCS предлагает ряд протоколов передачи данных, в настоящее время Altium Designer поддерживает только протокол HTTP/HTTPS  для соединений между локальным Git-репозиторием и его удаленным мастер-репозиторием. Подробнее см. в разделе Protocols.
  • При отправке (push) изменений в проект, находящийся под управлением внешней Git VCS, если репозиторий, в котором расположен этот проект, использует протокол SSH для подключения, вам будет предложено попробовать обновить этот репозиторий так, чтобы вместо него использовался поддерживаемый протокол подключения HTTPS (при условии, что сам репозиторий поддерживает этот протокол).
  • Обратите внимание: при работе с проектом, размещенным на GitHub, из Altium Designer необходимо использовать personal access token. В противном случае при отправке (push) проекта в репозиторий появится ошибка аутентификации. Подробнее см. в разделе Creating a personal access token.

Добавление в Git Version Control

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

► См. сайт Git для получения дополнительной информации и Version Control Essentials для обзора применимых принципов.

Система Git VCS обычно основана на централизованном удаленном Git-сервере, который при необходимости может размещать несколько Git-репозиториев. Быстрая и «легковесная» природа Git хорошо подходит для практики создания отдельного удаленного репозитория для каждого проекта, который затем можно клонировать (скопировать) как рабочий репозиторий любому пользователю, работающему над проектом. Обновленные файлы в рабочем Git-репозитории пользователя затем «отправляются» (push) в удаленный репозиторий на Git-сервере для синхронизации.

Удаленный репозиторий также может быть общим (bare) Git-репозиторием в удобном месте, например на общем сетевом ресурсе. Чтобы создать общий удаленный Git-репозиторий с помощью инструментов командной строки Git, используйте команду git init --bare.

Метод, используемый для размещения проекта Altium Designer в системе Git, будет зависеть от корпоративной инфраструктуры и практик и будет включать инструменты и процессы, внешние по отношению к Altium Designer. Однако после того как проект окажется в системе контроля версий и будет доступен как локальный рабочий репозиторий, работа с Git VCS в Altium Designer практически не отличается от работы с SVN VCS.

Добавление проекта в Git

В качестве примера существующий проект Altium Designer можно добавить в локальный Git-репозиторий с помощью базовых инструментов командной строки Git. При таком подходе папка проекта становится локальным (рабочим) Git-репозиторием, который связывается и в итоге обновляется с доступным удаленным Git-репозиторием.

Здесь инструменты используются для:

  1. Создания (initialize) рабочего Git-репозитория в папке проекта.
  2. Добавления файлов проекта в Git version control. Спецификация файлов *.* добавляет файлы, но не папки.
  3. Указания ссылки привязки на общий удаленный Git-репозиторий на веб-сервере. PCrepo — это назначенный локальный псевдоним URL удаленного репозитория.

Проект добавляется в локальный Git-репозиторийПроект добавляется в локальный Git-репозиторий

Следующие процессы Commit и Push также можно выполнить с помощью инструмента командной строки, но в этом примере шаги выполняются в Altium Designer, как описано ниже.

Когда проект открыт в Altium Designer, статус его файлов на панелях Projects и Storage ManagerScheduled for Addition (). После выполнения commit в рабочий репозиторий файлы переходят в статус Ahead of Server (), поскольку они еще не находятся под контролем версий в удаленном Git-репозитории.

  Файлы запланированы как Scheduled for Addition и Ahead of Server

Команда Push обновит файлы локального репозитория на удаленном Git-сервере; при этом может потребоваться ввод корректных учетных данных для целевого репозитория — это разовая процедура.

Файлы обновляются после запроса корректных учетных данныхФайлы обновляются после запроса корректных учетных данных

Проект Altium Designer, который теперь полностью находится под контролем версий Git, становится доступен другим пользователям из удаленного Git-репозитория. Другой пользователь может, например, клонировать репозиторий на свою локальную машину и в рамках совместной работы в итоге отправлять (push) отредактированные файлы обратно в удаленный репозиторий.

Обратите внимание: описанный выше процесс — лишь ручной пример того, как проект может быть добавлен на удаленный Git-сервер. В устоявшихся установках Git VCS, как правило, используются GUI-инструменты или автоматизированные системы под управлением администратора, которые упрощают процесс создания и получения рабочих VCS-проектов.

Altium Workspace — пример продвинутой серверной системы, использующей Git-репозиторий с автоматизированными функциями, поддерживающими прозрачное взаимодействие с VCS.

Клонирование Git-репозитория

Локальный проект, добавленный в Git Version Control, может редактироваться в Altium Designer из локальной папки проекта (рабочего репозитория), а зафиксированные изменения затем обновляются в удаленном Git-репозитории. Локальный и удаленный репозитории связываются и в итоге синхронизируются командой VCS Push.

Другие пользователи, желающие совместно работать над проектом, могут получить к нему доступ, клонировав удаленный Git-репозиторий в локальный рабочий репозиторий. Хотя подход к доступу к файлам из удаленного Git-репозитория будет различаться в зависимости от корпоративных систем и методов, базовый способ клонировать содержимое удаленного репозитория в локальный рабочий репозиторий — использовать команду Git git clone [remote repository URL] [target working repository folder], как показано на изображении ниже.

Зафиксированные изменения обновляются в удаленном Git-репозиторииЗафиксированные изменения обновляются в удаленном Git-репозитории

Процесс воспроизведет общий удаленный репозиторий как локальный рабочий репозиторий и автоматически выполнит checkout последней (HEAD) ревизии из ветки master. Затем файлы можно редактировать, сохранять и выполнять commit в VCS в Altium Designer, а в итоге отправить (push) обратно в удаленный Git-репозиторий.

Подключение к существующему Git-репозиторию

Altium Designer не предоставляет элементов управления для создания нового Git-репозитория или подключения к существующему. Однако вы можете фактически подключиться к существующему репозиторию этого типа другими способами (традиционным методом, предпочитаемым пользователями Git). Для этого:

  1. Создайте удаленный Git-репозиторий или получите доступ к внешнему репозиторию вашей компании, в котором хранятся проекты Altium Designer.
  2. Клонируйте репозиторий, чтобы создать локальный рабочий Git-репозиторий.
  3. Откройте проект Altium Designer из локального репозитория.

Altium Designer распознает, что проект находится под контролем версий в репозитории на базе Git, и предоставит статусы, связанные с VCS, а также команды/функции для работы с файлами (включая Commit (в локальный рабочий Git-репозиторий) и Push (из локального Git-репозитория в удаленный Git-репозиторий)).

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

Если вы не видите в своем ПО функцию, описанную здесь, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Content