Контроль версий на основе 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 частично поддерживается использование репозиториев LFS. ВНИМАНИЕ: Altium Designer не полностью поддерживает работу с репозиториями LFS, и это в некоторых случаях может привести к потере пользовательских данных.

    Эта функция доступна, когда в диалоговом окне Advanced Settings dialog включен параметр VCS.AllowLFSRepos.

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

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

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

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

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

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

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

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

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

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

  Файлы, запланированные к добавлению, и Ahead of Server

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

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

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

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

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

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

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

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

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

В результате общий удаленный репозиторий будет воспроизведен как локальный рабочий репозиторий, и из основной ветки автоматически будет извлечена последняя ревизия (HEAD). После этого файлы можно редактировать, сохранять и фиксировать в VCS в Altium Designer, а затем отправлять обратно в удаленный 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