为PCB设计项目选择版本控制的指南

Zachariah Peterson
|  已创建:April 5, 2021  |  已更新:April 6, 2021
版本控制指南

顾名思义,版本控制可支持开发团队执行以下操作:控制项目或数据存储库的哪个版本作为项目的主版本,并跟踪版本之间的所有更改并添加时间戳。版本控制系统非常适合跟踪和维护整个代码库,无需大多数PCB设计人员熟悉的老式复制、粘贴、压缩和电子邮件步骤。还有一个问题是克隆项目并从代码存储库中构建修订历史记录。

如果您是硬件设计人员,如何在硬件项目中利用版本控制系统?外部版本控制系统在您的工作流程中增加了一个额外的步骤,其中需要检查文件、修改文件并将修订结果提交回版本控制。Altium Designer用户可以利用Altium 365中的同步功能来帮助他们在托管云平台中镜像处理版本控制系统。用户还可以将外部SVN或Git存储库迁移到Altium 365上的版本控制系统中。

为什么在PCB设计软件中使用版本控制?

与多名设计人员讨论此话题后,我发现大公司有一些有趣的方法来编目和整理其项目、PCB文档、原理图、库以及PCB设计项目所需的任何信息。整理设计数据的两种最常见方法可能是按项目,或按文件类型和零件/项目编号。无论如何,当缺乏版本控制系统时,团队可能会将一大组项目保存在某个文件夹中。

在某些情况下,将硬件和PCB项目放入版本控制系统是个不错的选择

  • 一个项目存在多个协作者
  • 需要随着时间的推移跟踪项目修订,而无需重复复制项目
  • 团队可能需要回溯到项目的旧版本
  • 项目需要快速克隆以备日后重复使用
  • 项目中的特定文件可能需要克隆、跟踪和回溯

版本控制系统有助于简化所有这些任务的流程,PCB设计团队的选择是他们应该使用哪种版本控制系统。Altium Designer用户可以选择使用Altium 365中的内置Git存储库。

内部或外部版本控制?

在Altium 365中使用内部版本控制系统的优点是版本控制中的任何项目均可直接在Altium Designer中同步和打开。无需手动文件检出流程,只需点击几下即可将项目修订同步回Altium 365。此外,PCB项目中的所有内容均可同步并迁移到Altium 365。

不过,有时保持外部版本控制系统很重要。PCB设计项目可能非常复杂,不仅涉及电路板,还涉及机械、一系列文档、嵌入式软件/固件代码以及Altium 365中尚未作为托管对象出现的其他元素。还有一种情况是,一家公司正在处理设计的特权数据,并且不允许将数据放置在他们不直接控制的服务器上。在这些情况下,仅同步相关PCB项目数据是有意义的,而其他数据可以保存在外部存储库中。

借助简单同步功能,同步到内部版本控制

如果您曾经使用过附带版本控制系统的Altium Designer,您可能会注意到项目文件夹中隐藏着一个“.git”文件夹。此文件夹是Altium Designer的提示,表明该项目的版本控制系统处于活动状态。只要此.git文件夹在项目文件夹中被识别,Altium Designer就会进入简单同步模式并准备同步回Altium 365。

版本控制Git
此文件夹是您的提示,表明该组文件的版本控制系统处于活动状态。

在本地同步到版本控制存在以下几种选择:

使用项目文件夹中的以下Git Bash命令行条目在本地创建.git文件夹:

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

使用TortoiseGit或其他工具创建本地.git文件夹

使用“项目面板”中的“设为可在线访问”命令

在Altium Designer中打开项目后,.git文件夹的出现将触发“简单同步”。然后,您可以使用标准的Push和Commit命令,将项目置于Altium 365的正式版本控制中。使用外部版本控制工具可以在本地批量创建这些存储库,并且可以在需要时将其同步回Altium 365工作区。

关闭外部版本控制和迁移

在Altium Designer中打开托管项目时,将以相同的方式从内部或外部版本控制中检出文件。对于在外部VC中拥有大量数据的公司来说,这是一个很好的方法,因为他们可以确保其Altium项目与其主要版本控制系统同步。不过,如果要完全迁移到Altium 365中的版本控制系统,则有几种方法可以做到这一点。

关闭项目版本控制的最简单方法是删除项目文件夹中的.git文件夹。不幸的是,这会移除所有修订历史记录,因此这不是从外部版本控制系统中提取项目的最干净方法。

从外部系统中提取项目后,您可以使用上面列出的选项立即将项目输入到Altium 365的内部版本控制系统中。也许最好的选择是使用Project Packager:

  1. 从外部版本控制中提取现有托管项目。
  2. 在Altium Designer中打开已提取项目。
  3. 使用Altium Designer中的Project Packager创建项目的副本。
  4. 使用“项目面板”中的“设为可在线访问”命令,将此新项目同步到Altium 365中的内部版本控制。

Project Packager将为您的项目创建快照,而无需承担版本控制的负担。如果该项目之前已设为在您的工作区中可用,它还会移除该项目的所有链接。

版本控制Git
从外部版本控制中移除项目的两条基本命令。

现在,您可以从旧存储库中删除项目或完全放弃存储库。您也可以将此存储库留给可能与您的项目相关但不涉及Altium Designer中任务的其他用途。

最后,如果您更喜欢冒险,并希望在版本控制系统之间同步所有内容,则需要创建一个执行镜像的脚本。Ari Mahpour非常慷慨地撰写了一些关于为Altium Designer用户创建基于Git的工作流程的精彩文章:

此外,上面的所有内容均根据Git进行讨论,但您可以使用版本控制创建托管SVN存储库。阅读文档中的本指南,了解更多信息。

当今的PCB制造商和PCB设计人员可以使用Altium 365™平台共享项目数据并轻松协作。PCB设计团队可以使用内部版本控制功能进行设计数据管理,并且所有功能均与Altium Designer®中的世界一流设计工具集成。Altium 365可支持您在安全的环境中与其他设计人员、制造商和客户共享项目数据。

我们仅仅触及了在Altium 365上使用Altium Designer可能实现的功能的皮毛。请查看产品页面点播网络研讨会,以获取更为深入的功能描述。

关于作者

关于作者

Zachariah Peterson拥有学术界和工业界广泛的技术背景。在从事PCB行业之前,他曾在波特兰州立大学任教。他的物理学硕士研究课题是化学吸附气体传感器,而应用物理学博士研究课题是随机激光理论和稳定性。他的科研背景涵盖纳米粒子激光器、电子和光电半导体器件、环境系统以及财务分析等领域。他的研究成果已发表在若干经同行评审的期刊和会议论文集上,他还为多家公司撰写过数百篇有关PCB设计的技术博客。Zachariah与PCB行业的其他公司合作提供设计和研究服务。他是IEEE光子学会和美国物理学会的成员。

相关资源

相关的技术文档

返回主页
Thank you, you are now subscribed to updates.