Altium PCB项目应进行哪些版本控制的文件?


12

我正在尝试为.gitignore使用git版本化并远程存储在GitHub上的Altium项目创建文件。

我不希望我的队友在每次进行小更改时都不得不不断进行更新,例如重新运行设计规则检查或重新编译项目,从而使他们不断挣扎。我应该添加到版本控制系统中的最小文件数是多少?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

# Ignore autosave files (anything that begins with a tilde)
~*

# What else to ignore?

Answers:


11

这是我用于在SVN中管理Altium文件的忽略列表。我确信可以将它们转换为.gitignore格式(如果需要的话),也不会带来太多麻烦:

*/History/*
*.PrjPCBStructure
*.SchDocPreview
*.PcbDocPreview
*\__Previews
*\History
*.PrjPcbStructure
*~$*

请注意,我不同意@KyranF,你希望存档prjpcbstructure文件。每次您编译项目时,它们都会完全重新生成,并且实际上没有任何内容。从功能上讲,它们只是构建工件,而不应执行这些工件。

另外,我还用History历史记录的东西保存了几次,如果有几百MB的本地存储问题,则需要1.更大的硬盘驱动器,以及2.要修复优先级,如果几百MB完全是一个认真的考虑。

我也强烈反对犯下Gerber。如果您试图将一个实际的PCB规范地链接到一组文件,那么使用Gerber至关重要,尤其是在Gerber导出和/或处理阶段出现问题时。诚然,您不应该每天提交gerber文件(也不应该每天都为它们创建文件而烦恼),但是您应该始终提交(最好是标记)要发布到生产中的每组gerber。


我认为这*~$*可能是SolidWorks的临时文件指示器,而不是Altium。


我想为PcbDoc的特定“版本”生成的gerber对于将版本控制保持在一起很重要。而且我不确定prjpcbstructure文件,但是对我来说似乎合乎逻辑,因为它可能包含有关在项目的特定编译过程中使用了哪些外部文件/源的信息,并且可能有助于以后诊断丢失的文件
KyranF 2015年

当您将电路板送去制造时,最好压缩PCB项目的整个文件夹(减去历史记录和其他文件废话),然后将其冻结为送出的状态-我已经做到了几次,也忘记了几次,希望我能变得更加一致。
KyranF

@KyranF-许多altium文件都是ASCII,包括.PrjPcbStructure文件。您可以查看并查看其编码。
康纳·沃尔夫

公平地说,我要有一个长相!
KyranF

.PrjPcb文件也是ASCII,如果您将内容四处移动,这将非常方便。您可以手动编辑文件内容。
康纳·沃尔夫

3

作为其他答案的补充:

  • 不版本

    • 明显的文件:可能所有生成的输出,例如BOM,报告文件等。
    • .Dat-作为BOM表生成的一部分(重新)生成。似乎只包含冗余信息。
    • .TLT-GUI布局信息。
    • .REP-泪滴报告文件。
  • 做版本/考虑版本

    • 明显的文件:.PcbDoc,.PrjPcb,.SchDoc,.OutJob,.PrjPcb
    • .DsnWrk-我经常发现,我整天工作时打开了几个不相关的PCB项目,这导致工作区文件的更改。由于那与版本控制无关,因此我倾向于省略它。
    • PcbLib,.SchLib,.PvLib-项目可能包含一些项目特定的库。
    • .PrjPcbStructure-包含有关层次结构的信息。它在编译时(重新)生成。可以进行版本控制,因为当结构更改时,无论如何,提交都处于挂起状态。
    • .Annotation-包含板级组件注释信息。
    • .Harness-这些文件包含线束定义,并且可能包含无法生成的任意定义。

2

您要对.prjpcb(假设您有一个PCB项目!)、. prjpcbstructure,.pcbdoc和.schdoc文件进行版本控制。

其余的(例如历史记录,预览,gerber输出等)都是临时文件,对项目不重要。

编辑:还要注意“历史记录”文件的巨大大小,它们可能会变成数百兆字节,因此,即使忽略整个文件夹,您也应在项目/ Altium首选项中调整历史记录大小以使其受到控制通过子版本文件控制,它仍然会占用PC上的HDD空间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.