Контроль версий на основе Git
Репозитории типа Git создаются вне Altium Designer, а доступ к содержимому локального рабочего Git-репозитория осуществляется путем открытия файлов из его хост-папки. Управление как удаленными, так и локальными рабочими Git-репозиториями обычно выполняется через корпоративные системы и внешние Git-инструменты, тогда как операции на уровне файлов (Commit, Push, Update и т. п.) выполняются в среде редактирования Altium Designer.
Добавление в Git Version Control
Как распределенная система контроля версий, Git использует рабочий процесс, отличный от SVN, хотя при работе с уже существующими файлами проекта в Altium Designer разница минимальна. Вкратце: Git ориентирован на передачу данных между несколькими репозиториями, а не на зависимость от единственной целевой точки репозитория.
► См. сайт Git для получения дополнительной информации и Version Control Essentials для обзора применимых принципов.
Система Git VCS обычно основана на централизованном удаленном Git-сервере, который при необходимости может размещать несколько Git-репозиториев. Быстрая и «легковесная» природа Git хорошо подходит для практики создания отдельного удаленного репозитория для каждого проекта, который затем можно клонировать (скопировать) как рабочий репозиторий любому пользователю, работающему над проектом. Обновленные файлы в рабочем Git-репозитории пользователя затем «отправляются» (push) в удаленный репозиторий на Git-сервере для синхронизации.
Метод, используемый для размещения проекта Altium Designer в системе Git, будет зависеть от корпоративной инфраструктуры и практик и будет включать инструменты и процессы, внешние по отношению к Altium Designer. Однако после того как проект окажется в системе контроля версий и будет доступен как локальный рабочий репозиторий, работа с Git VCS в Altium Designer практически не отличается от работы с SVN VCS.
Добавление проекта в Git
В качестве примера существующий проект Altium Designer можно добавить в локальный Git-репозиторий с помощью базовых инструментов командной строки Git. При таком подходе папка проекта становится локальным (рабочим) Git-репозиторием, который связывается и в итоге обновляется с доступным удаленным Git-репозиторием.
Здесь инструменты используются для:
- Создания (initialize) рабочего Git-репозитория в папке проекта.
-
Добавления
файлов проекта в Git version control. Спецификация файлов *.*добавляет файлы, но не папки. -
Указания ссылки привязки на общий удаленный Git-репозиторий на веб-сервере.
PCrepo— это назначенный локальный псевдоним URL удаленного репозитория.
Проект добавляется в локальный Git-репозиторий
Когда проект открыт в Altium Designer, статус его файлов на панелях Projects и Storage Manager — Scheduled for Addition После выполнения commit в рабочий репозиторий файлы переходят в статус Ahead of Server , поскольку они еще не находятся под контролем версий в удаленном Git-репозитории.
Файлы запланированы как Scheduled for Addition и Ahead of Server
Команда Push обновит файлы локального репозитория на удаленном Git-сервере; при этом может потребоваться ввод корректных учетных данных для целевого репозитория — это разовая процедура.
Файлы обновляются после запроса корректных учетных данных
Проект Altium Designer, который теперь полностью находится под контролем версий Git, становится доступен другим пользователям из удаленного Git-репозитория. Другой пользователь может, например, клонировать репозиторий на свою локальную машину и в рамках совместной работы в итоге отправлять (push) отредактированные файлы обратно в удаленный репозиторий.
Клонирование Git-репозитория
Локальный проект, добавленный в Git Version Control, может редактироваться в Altium Designer из локальной папки проекта (рабочего репозитория), а зафиксированные изменения затем обновляются в удаленном Git-репозитории. Локальный и удаленный репозитории связываются и в итоге синхронизируются командой VCS Push.
Другие пользователи, желающие совместно работать над проектом, могут получить к нему доступ, клонировав удаленный Git-репозиторий в локальный рабочий репозиторий. Хотя подход к доступу к файлам из удаленного Git-репозитория будет различаться в зависимости от корпоративных систем и методов, базовый способ клонировать содержимое удаленного репозитория в локальный рабочий репозиторий — использовать команду Git git clone [remote repository URL] [target working repository folder], как показано на изображении ниже.
Зафиксированные изменения обновляются в удаленном Git-репозитории
Процесс воспроизведет общий удаленный репозиторий как локальный рабочий репозиторий и автоматически выполнит checkout последней (HEAD) ревизии из ветки master. Затем файлы можно редактировать, сохранять и выполнять commit в VCS в Altium Designer, а в итоге отправить (push) обратно в удаленный Git-репозиторий.
Подключение к существующему Git-репозиторию
Altium Designer не предоставляет элементов управления для создания нового Git-репозитория или подключения к существующему. Однако вы можете фактически подключиться к существующему репозиторию этого типа другими способами (традиционным методом, предпочитаемым пользователями Git). Для этого:
- Создайте удаленный Git-репозиторий или получите доступ к внешнему репозиторию вашей компании, в котором хранятся проекты Altium Designer.
- Клонируйте репозиторий, чтобы создать локальный рабочий Git-репозиторий.
- Откройте проект Altium Designer из локального репозитория.
Altium Designer распознает, что проект находится под контролем версий в репозитории на базе Git, и предоставит статусы, связанные с VCS, а также команды/функции для работы с файлами (включая Commit (в локальный рабочий Git-репозиторий) и Push (из локального Git-репозитория в удаленный Git-репозиторий)).