在工作区中提供现有项目

您正在阅读的是 20. 版本。关于最新版本,请前往 在工作区中提供现有项目 阅读 25 版本

父页面: 创建项目

您可以将现有项目(本地项目,或当前在外部版本控制下的本地项目)提供给工作区 —— 要么作为在Altium 365工作区中镜像的项目(简单同步),要么作为工作区本地Git版本控制下的项目。这使您能够从Altium工作区提供的项目管理和协作功能中受益,或者当项目也托管在工作区VCS(版本控制启用)中时,从平台的附加功能中受益,例如历史跟踪和高级项目共享。

要做到这一点,在Altium Designer中正常打开现有的本地项目,然后在项目面板中右键点击项目条目,从上下文菜单中选择使项目在线可用,从而访问使在线可用对话框。当使用企业服务器工作区时,使项目在服务器上可用命令将打开使在服务器上可用对话框

要做到这一点,在Altium NEXUS中正常打开现有的本地项目,然后在项目面板中右键点击项目条目,从上下文菜单中选择使项目在线可用,从而访问使在线可用对话框。当使用NEXUS服务器工作区时,使项目在服务器上可用命令将打开使在服务器上可用对话框

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

使用使在线可用对话框来更改项目名称并添加描述。默认情况下,名称将是原始项目的名称。

勾选版本控制选项,将项目添加到工作区自己的内置VCS(Git)下。当此选项未勾选(仅限Altium 365工作区选项)时,项目文件将仅存储在工作区中以便基本访问,并使其他人能够仅查看和评论 —— 简单同步安排。建议启用版本控制,因为这样做将使您能够通过工作区和Altium 365平台访问最大的功能。

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

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

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

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

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

请注意,只有连接到Altium 365工作区时,才能在工作区中镜像项目(简单同步)。

在线提供对话框中根据需要定义了项目转换的属性后,点击确定。在工作区中在线提供的项目 - 将在Altium Designer 项目面板中如下显示:

  • (仅限Altium 365 工作区) 对于未进行外部版本控制且通过取消勾选版本控制选项使其在线可用的项目,项目仅显示图标。这表示项目已在工作区注册,存在镜像项目,并且两者使用简单同步方法进行同步。保存的本地文件会自动与工作区中的镜像项目副本同步。

    有关简单同步使用的各种状态的信息,请参见简单同步状态
  • (仅限Altium 365 工作区) 对于使用外部版本控制的项目,项目显示图标,以表示项目已在工作区注册,存在镜像项目,并且两者使用简单同步方法进行同步。相关的图标反映了外部设计仓库与本地工作副本之间存在的完全同步状态。一旦本地文件更改被保存并提交/推送到外部设计仓库,这些更改将自动与工作区中的镜像项目副本同步。

    有关简单同步使用的各种状态的信息,请参见简单同步状态
  • 对于未进行外部版本控制且在线可用的项目(在Altium 365 工作区中,已勾选版本控制选项),项目和文件将被提交并推送到工作区的版本存储设计仓库。然后项目面板将反映工作区设计仓库与本地(工作副本)仓库之间存在的完全同步状态,如相关的图标所示。项目成为一个真正的受管理项目 - 不仅仅是在工作区“注册”,而且实际上已提交并受工作区的版本控制。对设计所做的任何更改都必须保存(提交/推送)回工作区的仓库。

随后,镜像项目将可通过工作区浏览器界面的项目页面访问。

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

简单同步状态

当本地项目通过简单同步方法(不使用工作区的版本控制)在线提供给Altium 365工作区时,本地与工作区项目之间的同步当前状态将通过项目面板中的一系列图标显示 - 请注意,简单同步(镜像)方法仅在连接到Altium 365工作区时可用。这些图标及其含义如下:

已同步 本地项目与工作区中的镜像项目已同步。
同步中

对本地项目所做的更改正在与工作区中的镜像项目同步。对于不在外部版本控制系统(VCS)下的本地项目,这在保存本地文件时发生。对于在外部版本控制系统下的本地项目,这在保存并将本地文件更改提交到外部设计仓库时发生。

项目为只读

项目已与您共享,但您只有只读权限。根据简单同步方法,设计项目只能由一个人编辑(即项目所有者 - 将其在线提供给工作区的人)。

未同步

本地已进行更改,但这些更改尚未与工作区中的镜像项目同步。例如,当同一项目由所有者/作者在两台计算机(PC1和PC2)上打开进行编辑时,可能会发生这种情况。随后,在PC1上断开了与工作区的连接。在PC2上,保持与工作区的连接并进行了更改。保存本地文件后,项目仍未同步。如果您尝试在PC2上关闭项目,将出现关闭未同步项目对话框,提醒您这一事实。如果您选择关闭项目,则PC1上将不可用更改。要解决这个问题,在PC2上断开然后重新连接到工作区。项目将与工作区同步。一旦在PC1上连接到工作区,同步的数据也将反映出来。或者,右键单击项目并选择解决项目克隆冲突命令。本地项目位置已更改对话框将打开。您将有选项将现有项目注册为新项目,其中将使用工作区中的镜像项目数据并丢失本地修改,移动项目,其中将使用本地项目数据并同步以覆盖工作区中镜像项目的当前数据,或取消注册,这将解除项目链接,数据将不会发送到工作区。

冲突

本地项目的数据与工作区中的镜像项目的数据之间存在冲突。例如,当同一项目由所有者/作者在两台计算机(PC1和PC2)上打开进行编辑时,可能会发生这种情况。在PC1上,打开项目并随后断开了与工作区的连接。然后进行了更改并保存了本地文件。稍后,在PC2上打开同一项目,并在仍连接到工作区的情况下进行了更改并保存。之后,在PC1上重新连接到工作区。存在冲突,因为PC1本地有更改,但工作区包含从PC2上所做和同步的更新数据。

要解决这个问题,在PC1上右键单击项目并选择解决冲突命令。解决冲突对话框将打开。您有选项使用服务器文件(将使用工作区中的镜像项目数据并丢失本地修改),或使用本地文件(将使用本地项目数据并同步以覆盖工作区中镜像项目的当前数据)。

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

如前所述,您的本地设计可能已经在现有的外部版本控制系统(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存储(企业服务器工作区不支持简单同步安排)。
当Altium NEXUS连接到NEXUS服务器工作区时,也可以进行VCS迁移。在这种情况下,使可在服务器上使用对话框中提供迁移到Altium版本存储选项。请注意,如果迁移选项未勾选,项目的外部仓库将保持为其VCS存储(NEXUS服务器工作区不支持简单同步安排)。

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

按照提示操作,包括进行最终的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工作副本内部。
    • 包含相对于项目文件夹的外部文件的提交可能不会显示,因为迁移过程只识别对项目文件夹的提交。

迁移后的协作

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

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

控制项目同步

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

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

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

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

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

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

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

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

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

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

工作区中的项目保持不变 – 此操作不会移除它。

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

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

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

本地项目也可以通过项目选项对话框的常规选项卡在工作区中在线上提供。本地项目也可以通过项目选项对话框的常规选项卡在工作区中在线上提供。

基于流程的项目转换

相关页面: 协同设计创建和管理流程Altium 365 工作区企业服务器工作区)。

本节描述的功能仅在使用Altium Designer与活跃的Altium Designer企业订阅和连接的工作区时可用。

当连接的工作区包括激活的流程定义,这些流程定义是项目创建主题的一部分时,可以通过在项目面板中右击一个未管理的项目,点击转换为托管项目,然后从子菜单中选择所需的流程来访问索引命令。

如果您的活跃工作区中没有可用的项目创建流程主题的活跃流程定义 - 子菜单将不可见。

启动命令后,将打开创建项目对话框(实际上以所选流程命名)。使用对话框的常规选项卡来描述项目并指定项目类型和模板(如果需要)。在高级选项卡上,您可以指定项目的位置并选择存储库以及存储库和工作区文件夹。准备就绪后,点击开始根据该流程的底层工作流创建新的工作区项目。

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.

软件的功能取决于您购买的Altium产品级别。您可以比较Altium Designer软件订阅的各个级别中包含的功能,以及通过Altium 365平台提供的应用程序所能实现的功能。

如果您在软件中找不到某个讨论过的功能,请联系Altium销售团队以获取更多信息。

Content