Руководство по выбору системы контроля версий для проектов печатных плат

Закарайа Петерсон
|  Создано: 5 Апреля, 2021  |  Обновлено: 6 Апреля, 2021
Руководство по контролю версий

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

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

Для чего нужен контроль версий в программном обеспечении для проектирования печатных плат?

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

В некоторых случаях целесообразно размещать проекты аппаратных средств и печатных плат в системе контроля версий

  • Над проектом работают несколько участников
  • С течением времени необходимо отслеживать изменения проекта, не создавая его дополнительные копии
  • Команде может потребоваться откат к предыдущей версии проекта
  • Проект необходимо быстро клонировать для последующего повторного использования
  • Может потребоваться клонировать, отслеживать и откатывать отдельные файлы проекта

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

Внутренний или внешний контроль версий?

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

Однако в некоторых случаях важно иметь внешнюю систему контроля версий. Проекты печатных плат могут быть очень сложными и включать в себя гораздо больше, чем просто печатную плату: механические параметры, документацию, код прошивки и другие существенные элементы, которые еще не представлены в качестве управляемых объектов в Altium 365. Кроме того, возможна ситуация, когда компания работает с конфиденциальными данными и не имеет права размещать их на сервере, который она непосредственно не контролирует. В таких случаях имеет смысл синхронизировать только необходимые данные проекта печатной платы, а остальные данные хранить во внешнем репозитории.

Синхронизация с внутренней системой контроля версий в режиме Simple Sync

Если вы когда-нибудь пользовались Altium Designer с системой контроля версий, то, возможно, замечали среди папок проекта скрытую папку .git. Эта папка служит сигналом для Altium Designer о том, что в проекте активна система контроля версий. Как только эта папка .git обнаруживается в папке проекта, Altium Designer переходит в режим Simple Sync и готовится к синхронизации с Altium 365.

Контроль версий Git
Эта папка сигнализирует о том, что система контроля версий активна для этого набора файлов.

Существует несколько вариантов локальной синхронизации с системой контроля версий:

Создайте локальную папку .git в вашей проектной папке с помощью следующих команд в командной строке Git Bash:

  • git init
  • git add *.*
  • git remote add [repo_name] [https://repo_address]

Используйте TortoiseGit или другой инструмент для создания локальной папки .git

Используйте команду Make Available Online (Сделать доступным онлайн) на панели Projects (Проекты).

После открытия проекта в Altium Designer папка .git запустит синхронизацию в режиме Simple Sync. Затем с помощью стандартных команд Push и Commit вы можете передать проект под контроль версий в формате Altium 365. Использование внешних инструментов контроля версий позволяет создавать эти репозитории локально в пакетном режиме, и при необходимости их можно синхронизировать с Altium 365 Workspace.

Отключение внешнего контроля версий и миграция

Когда управляемый проект открывается в Altium Designer, файлы извлекаются из внутреннего или внешнего контроля версий аналогичным образом. Это отличный вариант для компаний с большим объемом данных во внешней системе контроля версий, поскольку они могут обеспечить синхронизацию проектов Altium с основной системой. Однако, если вы хотите полностью перейти на систему контроля версий Altium 365, это можно сделать несколькими способами.

Самый простой способ отключить систему контроля версий проекта — удалить папку .git из папки вашего проекта. К сожалению, при этом удаляется вся история изменений, так что это не самый аккуратный способ извлечь проект из внешней системы контроля версий.

После извлечения проекта из внешней системы его можно сразу же ввести во внутреннюю систему контроля версий Altium 365, используя предложенные выше способы. Наверное, самый лучший вариант — использовать Project Packager:

  1. Извлеките существующий управляемый проект из внешней системы управления версиями.
  2. Откройте извлеченный проект в Altium Designer.
  3. С помощью Project Packager в Altium Designer создайте копию проекта.
  4. Синхронизируйте этот новый проект с внутренним управлением версиями Altium 365, используя команду Make Available Online (Сделать доступным онлайн) на панели Projects (Проекты).

Project Packager создаст моментальный снимок проекта без контроля версий. Он также удалит все ссылки на проект, если он ранее был доступен в вашем рабочем пространстве.

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

Теперь вы можете удалить проект из старого репозитория или вообще отключиться от него. Вы можете сохранить этот репозиторий для других целей, которые могут иметь отношение к вашему проекту, но не связаны с задачами в Altium Designer.

Наконец, если у вас более смелые намерения и вы хотите, чтобы все системы контроля версий синхронизировались между собой, вам потребуется создать скрипт, выполняющий зеркалирование. Ари Махпур (Ari Mahpour) поделился с нами своими замечательными статьями о создании рабочего процесса на основе Git для пользователей Altium Designer:

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

Современные производители и разработчики печатных плат могут обмениваться проектными данными и легко сотрудничать на платформе Altium 365™. Команды разработчиков печатных плат могут использовать внутренние функции контроля версий для управления проектными данными, и все это интегрируется с инструментами проектирования мирового класса в Altium Designer®. Altium 365 позволяет обмениваться проектными данными с другими проектировщиками, производителями и заказчиками в безопасной среде.

Мы лишь поверхностно рассмотрели некоторые возможности Altium Designer на Altium 365. Вы можете зайти на страницу продукта, чтобы посмотреть более подробное описание функций, или посетить один из Вебинаров по запросу.

Об авторе

Об авторе

Закарайа Петерсон (Zachariah Peterson) имеет обширный технический опыт в научных кругах и промышленности. До работы в индустрии печатных плат преподавал в Портлендском государственном университете. Проводил магистерское исследование на хемосорбционных газовых датчиках, кандидатское исследование – по теории случайной лазерной генерации. Имеет опыт научных исследований в области лазеров наночастиц, электронных и оптоэлектронных полупроводниковых приборов, систем защиты окружающей среды и финансовой аналитики. Его работа была опубликована в нескольких рецензируемых журналах и материалах конференций, и он написал сотни технических статей блогов по проектированию печатных плат для множества компаний.

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.