在工作区中提供现有项目

父页面: 创建项目和文档

处理项目的推荐和最强大的方法是直接在连接的工作区内创建一个新项目。如果您有一个现有的项目,您可以通过使其在线并选择启用正式版本控制,将其带入您的工作区。在每种情况下,项目都将通过工作区的原生版本控制系统(VCS)存储和管理。这使您在通过Altium Designer工作时可以获得项目的全部功能。将您的项目完全管理在工作区的VCS下是通过Altium Designer与多人共享该项目进行编辑的唯一方式(前提是他们是工作区的成员),并从平台的附加功能中受益,如历史跟踪和高级项目共享。

未进行版本控制或处于外部版本控制下的本地项目可以使用一种称为简单同步的方法与您的工作区注册。在工作区中创建了您项目的镜像并进行同步。一旦本地文件更改被保存(或保存并提交到外部设计仓库),这些更改将自动与工作区中的镜像项目副本同步。简单同步允许您在保持原始项目原样的同时,享受通过Altium 365平台提供的协作功能。然而,请记住,对于本地设计项目(不在外部VCS下),该项目只能由一个人编辑(项目的所有者 - 将其在线提供给工作区的人)。

要使现有项目(本地项目或当前在外部版本控制下的项目)可用于工作区 - 无论是在Altium 365工作区中镜像(简单同步)的项目还是在工作区的原生Git版本控制下的项目,都可以在Altium Designer中正常打开项目,然后右键单击项目面板中的项目条目,从上下文菜单中选择使项目在线可用,打开使在线可用对话框。当使用企业服务器工作区时,使项目在服务器上可用命令会打开使在服务器上可用对话框。

当使用活动的Altium Designer企业订阅的Altium Designer并连接到具有一个或多个活动流程定义的工作区时,用于项目创建流程主题,使现有项目可用于工作区是通过右键单击项目面板中的项目条目并从转换为托管项目子菜单中选择命令来执行的 - 了解更多关于基于流程的项目转换

使现有的本地项目可用于工作区,本质上是在工作区'注册'它并创建它的'镜像'。
使现有的本地项目可用于工作区,本质上是在工作区'注册'它并创建它的'镜像'。

使用在线提供对话框更改项目名称并添加描述。默认情况下,名称将与原始项目的名称相同。

勾选版本控制选项,将项目添加到工作区自己的内置VCS(Git)下。当此选项未勾选(仅限Altium 365工作区选项)时,项目文件将仅存储在工作区中以实现基本访问,并启用与他人共享以便仅查看和评论 - 简单同步安排。建议启用版本控制,因为这样做将可以访问通过工作区和Altium 365平台提供的最大功能。请注意,仅当连接到Altium 365工作区时,才能在工作区中镜像项目(简单同步)。

如果本地项目已经在版本控制下(一个外部设计仓库),迁移到Altium 365版本化存储选项将在在线可用对话框中可用。了解更多关于从外部VCS迁移到工作区本地VCS的信息。

在Altium 365工作区中的项目共享:

如果版本控制选项被禁用 - 因此使用非正式的简单同步功能用于本地项目(不在外部VCS下) - 设计项目只能由一个人编辑(该项目的所有者,他是将其在工作区中可用的人)。简单同步的优势在于,当你不希望其他人编辑你的设计,但你希望利用Altium 365的全球共享范式,并能够与多个其他人共享该设计以供查看和评论时。

当启用版本控制选项 - 通过使用工作区的基于Git的版本化存储设计仓库 - 则可以与多人共享项目进行编辑,或查看和评论。

点击对话框的高级链接以显示文件夹字段。此字段用于指定在工作区文件夹结构中创建镜像项目的文件夹位置。新项目的默认路径在工作区浏览器界面的管理员 - 设置 - 项目页面上指定(默认情况下,这将是Projects\<ProjectName>)。如果需要,点击按钮浏览并选择不同的工作区文件夹。

在线可用对话框中根据需要定义了项目过渡的属性后,点击确定。对于一个不在外部版本控制下的项目,并且在在线可用(在Altium 365工作区,版本控制选项被选中),项目和文件将被提交并推送到工作区的版本化存储设计仓库。然后项目面板将反映工作区设计仓库和本地(工作副本)仓库之间存在的完全同步状态,如相关图标所示。项目成为一个真正的工作区项目 - 不仅仅是在工作区中“注册”,而是实际提交并在工作区的版本控制下。对设计所做的任何更改都必须保存(提交/推送)回工作区的仓库。

在工作区中可用的项目随后将从工作区的浏览器界面的项目页面上可用。

在工作区中可用的项目最初将与创建它的设计师(所有者)和所有工作区管理员共享读/写访问权限。有关配置项目访问权限的更多信息,请参见共享设计

使用现有外部版本控制仓库时的限制

如前所述,您的本地设计可能已经在现有的外部版本控制系统(Git、SVN、EPDM 等)下进行了跟踪。当使用 Altium 365 工作区时,您可以像以前一样继续使用这种设置,并通过使用使项目在线可用功能将设计注册到工作区,从而使设计在工作区中可用。

在这种模式下,每次对设计进行更改并将这些更改提交到外部 VCS 仓库时,设计数据都会在后台镜像到工作区,并且所有需要的处理都会像往常一样执行 - 预览、使用位置等。但是,需要注意一些限制:

  • 创建新的设计项目仍然需要遵循之前的流程,即在外部 VCS 系统中手动创建。然后使用使项目在线可用功能将项目注册并镜像到工作区。
  • 如果进行了设计更改,但是通过外部工具而不是通过 Altium Designer 执行提交/推送,那么这些更改将不会出现在工作区中的镜像项目中。当项目下次在 Altium Designer 中重新打开时,这将得到纠正,这会自动将本地项目与镜像的工作区版本同步。如果更改是由另一个用户进行的,那么重新打开的项目文件将显示为已过时),并且可以使用版本控制更新命令进行纠正。
  • 项目的第二个人打开将需要访问该外部 VCS 仓库。
  • 权限管理将需要在两个地方设置/维护 - 在工作区和主源(外部 Git/SVN 等 VCS 仓库)中。
  • 通过 Altium 365 平台提供的一些功能仅通过将项目置于工作区的本地版本控制系统下才能工作。通过将您的项目保留在外部版本控制系统下,这些功能(随着它们对平台的可用性)将不可用于您。您可以从使用外部 VCS 转移到使用工作区的本地 VCS - 请参阅以下部分了解实现此操作的过程。

使用 GitHub

GitHub 平台作为外部版本控制系统(VCS)是托管和共享设计项目的流行方式,Git 仓库由 Altium Designer 支持。如上所述,对于 Altium 365 工作区,现有的外部 VCS 安排可以与工作区同步(镜像),这使您可以从其高级数据管理和协作功能中受益。

您通常如何使用 GitHub 本身将根据公司实践或您手头的 Git 工具而有所不同。但通常,设计项目是在本地 Git 仓库中创建的,然后推送到 GitHub(远程)仓库,或者从 GitHub 克隆现有项目到本地仓库。一旦在本地 Git 仓库中,项目就可以在 Altium Designer 中打开进行编辑 - 软件将识别并使用本地/远程 GitHub 仓库。

如果基于 Git 的项目镜像到 Altium 365 工作区(使项目在线可用),则可以像工作区中存储的任何其他项目一样在 Altium Designer 中管理和工作该项目。在这种安排中,工作区仍然提供其项目管理系统的所有优势,并且还与 GitHub 透明地通信以执行主要的 VCS 操作 - 提交、推送、拉取等。Altium Designer 将请求您的 GitHub 登录凭据,并保留这些凭据以供后续的 GitHub 交互。

请注意,如果GitHub账户已配置了两因素认证,Altium Designer将无法自动与GitHub连接。

GitHub协议

虽然Git VCS提供了多种数据传输协议,但Altium Designer目前仅支持HTTP/HTTPS协议,用于本地Git仓库与其远程主仓库之间的连接。实际上,所应用的协议由远程仓库连接的URL前缀设置决定 - https://<远程仓库>ssh://<远程仓库>git://<远程仓库>等。

GitHub支持SSH和HTTPS协议,并推荐使用HTTPS URL进行连接。

► 有关更多信息,请参阅GitHub上的我应该使用哪个远程URL?

HTTPS协议提供了一个安全的连接,使用和实现都很简单,而SSH处理起来更复杂 - 由于需要公钥,以及防火墙/代理端口要求 - 可能不太安全,并且不提供SSO(单点登录)认证的便利。

同样,不推荐(或在此支持)使用GIT连接协议,因为它缺乏认证和设置复杂性。

如果您的外部VCS系统绑定了一个不同于HTTPS的协议,例如GitHub SSH连接,这将在从远程克隆的仓库中预设。由于此协议与Altium Designer不兼容,尝试将项目与Altium Workspace集成时会出现错误。对于SSH连接,您将被提议尝试将该仓库更新为使用支持的HTTPS连接协议(前提是仓库本身支持此协议)。如果您不确定本地Git仓库使用的远程URL协议,可以使用git remote – v命令进行检查。

使用Git Bash命令行界面检查仓库的远程URL设置。使用Git Bash命令行界面检查仓库的远程URL设置。

可以使用git remote set-url <name> <URL>命令,将仓库重新配置为不同的URL,例如HTTPS协议,以实现与Altium Designer的兼容性,其中URL的前缀指定了协议类型。

更改远程仓库连接URL协议,然后使用remote命令进行确认。更改远程仓库连接URL协议,然后使用remote命令进行确认。

从外部VCS迁移到工作区本地VCS

当连接到Altium 365工作区时,Altium Designer还提供了将使用外部VCS系统的项目忠实地迁移到完全托管的工作区项目的能力,该项目在其自己的Git仓库中托管设计文件。转换后的设计项目将保留以前的VCS提交历史,并且可以从工作区的原生VCS启用的功能中受益,例如高级项目共享、单一认证和基于事件的历史时间线

项目VCS迁移功能支持Git和SVN外部版本控制系统,并且在将基于本地文件的项目在线上提供,或者将镜像(仅同步)项目提升为工作区自己的Git VCS下的项目时可用。

要简单地迁移存储在外部版本控制下的项目,右键单击项目面板中的项目名称,然后从上下文菜单中选择使项目在线上可用选项,或者从主菜单中选择项目»使在线上可用。在接下来的使在线上可用对话框中,勾选迁移到Altium 365版本存储选项并确认操作(确定)。

启用的迁移到Altium 365版本存储选项实际上会导致外部VCS仓库被工作区Git仓库替换,将项目转换为存储和管理在Altium 365工作区中的项目,并在可能的情况下,将版本提交历史从外部VCS带过来。请注意,如果迁移选项未勾选,项目将被镜像到工作区(简单同步安排),同时保持外部仓库作为其VCS存储。

当Altium Designer连接到企业服务器工作区时,也可以进行VCS迁移。在这种情况下,迁移到Altium版本存储选项在使在服务器上可用对话框中可用。请注意,如果迁移选项未勾选,项目的外部仓库将保持为其VCS存储(企业服务器工作区不支持简单同步安排)。

要将本地VCS项目移植到Altium 365工作区中的完全托管VCS项目,请在使其在线上可用时勾选VCS迁移选项。要将本地VCS项目移植到Altium 365工作区中的完全托管VCS项目,请在使其在线上可用时勾选VCS迁移选项。

迁移项目对话框将打开,并警告您项目将在工作区VCS的完全管理下进行迁移。点击浏览按钮选择您硬盘上的一个文件夹,在其中创建一个新的(基于git的)本地项目仓库。点击迁移按钮继续进行迁移。

迁移项目对话框
迁移项目对话框

按照提示操作,包括进行最终的VCS提交后,该项目现在已在工作区Git仓库中进行版本控制。外部VCS的提交历史和其评论/消息被移植到新的工作区VCS项目中,可以在Altium Designer的历史视图中访问 - 在项目面板中右键点击项目名称,然后选择历史 & 版本控制 » 显示项目历史命令。

迁移后,项目的外部VCS提交历史(左侧显示)被转移到Altium Designer历史视图(右侧)。迁移后,项目的外部VCS提交历史(左侧显示)被转移到Altium Designer历史视图(右侧)。

请注意,在迁移过程后首次打开项目历史时,您可能会看到所有包含的提交正在计算数据。工作区需要一些时间来处理这些提交以及它们之间的差异。

如果外部VCS项目已经在Altium 365工作区作为镜像项目(同步本地-服务器文件)进行管理,其VCS文件可以使用迁移到Altium版本化存储命令迁移到服务器的原生Git仓库中,该命令可从项目历史视图项目选项对话框项目面板的历史 & 版本控制右键上下文菜单中获得。

已与工作区同步(镜像)的VCS项目使用迁移项目到Altium版本控制选项进行迁移。已与工作区同步(镜像)的VCS项目使用迁移项目到Altium版本控制选项进行迁移。

当源外部VCS基于Git时,迁移性能最快 - 过程更简单,因为Altium 365工作区VCS也是基于Git的。然而,对于SVN,迁移可能需要一些时间,这取决于仓库的大小和它包含的提交数量。

VCS迁移限制

  • Git
    • 当连接到Altium 365工作区时,支持包含多个PCB项目的Git仓库。在在线可用对话框中点击确定后,您将被提示选择要迁移的文件。
    • 项目文件(*.PrjPcb)应位于Git仓库的根文件夹中。
  • SVN
    • 不支持基本的SVN 文件协议。
    • 如果您的SVN仓库包含多个项目,迁移过程将在现有SVN工作副本之外创建新的本地文件夹。这是因为Altium 365工作区存储是基于Git的,而Git仓库不能存储在SVN工作副本内部。
    • 包含相对于项目文件夹的外部文件的提交可能不会显示,因为迁移过程只识别对项目文件夹的提交。
在成功将外部VCS项目迁移到Altium 365工作区后,外部仓库的链接将自动删除。这一功能已在Altium Designer 23.0中实现。如果项目是使用Altium Designer的早期版本在Altium 365工作区中提供的,那么在首选项对话框的数据管理 - 设计仓库页面上可能会出现仓库的条目。如果您是工作区的管理员,并且仓库没有引用工作区项目,可以通过选择其条目并点击删除按钮从工作区中删除仓库。请注意,如果项目已被软删除(移至垃圾箱),必须永久删除它,以便可以删除引用它的仓库。工作区的版本存储仓库不能被删除。

迁移后的协作

  • 当工作区团队成员将项目迁移到Altium版本存储时,他们需要确保其他项目协作者连接到团队工作区,然后更新他们的本地(工作)项目副本。后者在项目面板中通过与项目文件关联的图标(过时)表示,并通过项目» 历史记录和版本控制» 更新整个项目命令执行。
  • 一旦迁移的项目更新后,Altium Designer将提供更新到新仓库链接的选项,通过重建项目的本地工作文件夹。在修复版本控制链接对话框中选择推荐选项,以完成本地项目更新。

  • 请注意,如果项目协作者没有连接到团队工作区然后提交VCS设计更改,这些更改将继续在外部仓库中注册,因此与迁移后的工作区VCS项目不同步。
  • 在迁移期间,Altium Designer会执行对原始仓库的提交,以设置通知标记,以便其他团队成员的Altium Designer实例可以识别它已被迁移。

从工作区的SVN迁移到工作区的Git

当Altium Designer连接到企业服务器工作区,并且设计项目存储在通过工作区的版本控制服务管理的SVN仓库中时,您可以将此项目从SVN仓库迁移到工作区内置的Git仓库(版本存储)。要执行此操作,右键单击项目面板中的项目条目,然后从上下文菜单中选择历史记录 & 版本控制 » 迁移项目到Altium版本存储命令。或者,点击项目选项对话框中的迁移到服务器版本存储按钮。

按照提示操作,包括进行最后的VCS提交,项目将迁移到工作区Git仓库的版本控制中。

控制项目同步

一旦本地项目已经可用于Altium 365工作区,通过项目选项对话框的常规标签提供了对其在线可用性和同步的控制。

请注意,当Altium Designer连接到Altium 365工作区而不是企业服务器工作区时,才会显示常规标签。
请注意,当Altium NEXUS连接到Altium 365工作区而不是NEXUS服务器工作区时,才会显示常规标签。

在项目选项对话框的常规标签上呈现了使项目在线可用的选项和控制。
项目选项对话框的常规标签上呈现了使项目在线可用的选项和控制。

使用标签上常规区域中的选项来更改项目描述。这仅影响工作区中的镜像项目。

在标签的在线可用性和同步区域中,版本控制选项反映了当前的在线可用性风格:

  • 选项启用 – 项目(及其源文件)存储在工作区自己的原生VCS(Git)下。这是推荐的方法,因为这样做您将能够访问通过工作区和Altium 365平台提供的最大功能。
  • 选项禁用 – 项目文件存储在工作区中,以便基本访问,并仅启用与他人共享以进行查看和评论的功能 – 简单同步安排。

根据需要更改这两个选项。

如果项目存储在外部VCS仓库下,此选项不可用。

如果您希望停止本地项目与在工作区中提供的托管版本之间的同步,请点击 按钮。关闭项目同步窗口将会出现。点击取消链接选项,然后在项目选项对话框中点击确定。本地项目将不再与工作区中的项目关联。

在保存本地项目后,这将在项目面板中反映出来,项目将显示在活动的项目组(*.DsnWrk)下,而不是作为活动工作区下的一个条目。需要保存,因为项目文件中的工作区项目链接将被移除。

工作区中的项目保持不变 - 这个操作不会移除它。

您可以切断本地项目与在工作区中提供的版本之间的连接。您可以切断本地项目与在工作区中提供的版本之间的连接。

您始终可以再次将本地项目在线提供,作为镜像或完整的VCS项目(版本控制)。项目选项对话框的常规标签将显示 按钮,通过该按钮可以访问在线提供对话框。

如果您在关闭同步后再次在线提供本地项目,您可能需要更改项目名称。因为关闭同步并不会移除工作区中的项目,所以具有相同名称和文件夹位置的这个项目可能仍然存在。如果您需要使用相同的项目名称,那么工作区中之前的项目实例始终可以被移除。

本地项目也可以从项目选项对话框的常规标签中在线提供 - 在工作区中。本地项目也可以从项目选项对话框的常规标签中在线提供 - 在工作区中。

可用的功能取决于您的 Altium Designer 软件订阅级别

Content