Какие файлы для контроля версий для проекта Altium PCB?


12

Я пытаюсь создать .gitignoreфайл для проекта Altium, который имеет версию git и хранится удаленно на GitHub.

Я не хочу, чтобы мои товарищи по команде постоянно боролись с необходимостью обновлять каждый раз, когда я вносил небольшие изменения, такие как повторные проверки правил разработки или повторная компиляция проекта. Какие минимальные файлы я должен добавить в свою систему контроля версий?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

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

# What else to ignore?

Ответы:


11

Вот список игнорирования, который я использую для управления файлами Altium в SVN. Я уверен, что они могут быть преобразованы в формат .gitignore (если он вообще необходим) без особых проблем:

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

Обратите внимание, что я не согласен с @KyranF, вы не хотите архивировать prjpcbstructureфайлы. Они полностью обновляются каждый раз, когда вы компилируете проект, и в любом случае там ничего нет. Они функционально являются просто артефактами сборки, и они не должны быть зафиксированы.

Кроме того, моя задница несколько раз сохранялась в журнале «История», если проблема состоит в нескольких сотнях МБ локального хранилища, вам нужно 1. Жесткий диск большего размера и 2. Чтобы исправить ваши приоритеты, если несколько сотен MB это серьезное соображение.

Я также не согласен сильно о совершении герберы. Если вы пытаетесь канонически связать реальную печатную плату с набором файлов, наличие герберов может оказаться необходимым, особенно когда что-то идет не так на этапе экспорта и / или обработки гербера. По общему признанию, вы не должны создавать файлы gerber каждый день (вам также не следует создавать их ежедневно), но вы ВСЕГДА должны фиксировать (и в идеале отмечать) каждый набор герберов, которые вы выпускаете для производства.


Я думаю, что это *~$*может быть индикатор временных файлов для SolidWorks , а не Altium.


Я думаю, герберы, сгенерированные для конкретной «версии» PcbDoc, важно держать вместе под контролем версий, хороший момент. И я был не уверен насчет файла prjpcbstructure, однако мне это показалось логичным, учитывая, что он может включать информацию о том, какие внешние файлы / источники использовались во время этой конкретной компиляции проекта, и может помочь диагностировать отсутствующие файлы позже
KyranF

Когда вы отправляете плату для производства, хорошей идеей будет сжать всю папку проекта PCB (за исключением истории и других дерьмовых файлов) и заморозить ее в том состоянии, в котором она была отправлена ​​- я сделал это несколько раз, а также забыли несколько раз, и хотелось бы быть более последовательным.
KyranF

@KyranF - Многие файлы altium являются ASCII, включая .PrjPcbStructureфайлы. Вы можете посмотреть и увидеть, что они кодируют.
Коннор Вольф

честно, я буду выглядеть стильно!
KyranF

Файлы .PrjPcb также являются ASCII, что удобно, если вы что-то перемещаете. Вы можете вручную редактировать содержимое файла.
Коннор Вольф

3

В дополнение к другим ответам:

  • Не версия

    • Очевидные файлы: Потенциально все сгенерированные выходные данные, такие как спецификации, файлы отчетов и так далее.
    • .Dat - генерируется (повторно) как часть генерации спецификации. Кажется, только содержит избыточную информацию.
    • .TLT - информация о макете GUI.
    • .REP - файл отчета Teardrop.
  • Делать версию / рассмотреть версию

    • Очевидные файлы: .PcbDoc, .PrjPcb, .SchDoc, .OutJob, .PrjPcbVariants
    • .DsnWrk - я часто нахожу, что я открываю несколько не связанных между собой проектов печатных плат, работая в течение дня, что приводит к изменениям в файле рабочей области. Поскольку это не имеет отношения к контролю версий, я склонен пропустить это.
    • PcbLib, .SchLib, .PvLib - проект может содержать некоторые библиотеки, специфичные для проекта.
    • .PrjPcbStructure - содержит информацию об иерархической структуре. Он генерируется (повторно) при компиляции. Может быть версионным, поскольку при изменении структуры коммит все равно будет отложен.
    • .Annotation - содержит информацию аннотаций компонентов уровня платы.
    • .Harness - эти файлы содержат определение Harness и потенциально могут содержать произвольные определения, которые не могут быть сгенерированы.

2

Вы хотите управлять версиями файлов .prjpcb (при условии, что у вас есть проект PCB!), .Prjpcbstructure, .pcbdoc и .schdoc.

Остальные, такие как история, предварительный просмотр, выходные данные Gerber и т. Д., Являются временными файлами, не важными для проекта.

редактировать: также имейте в виду огромный размер «исторических» файлов, они могут достигать нескольких сотен мегабайт, поэтому вы должны отрегулировать размер истории в настройках проекта / Altium, чтобы держать его под контролем, даже если вся эта папка игнорируется при управлении файлами в под-версии он все равно будет занимать место на жестком диске вашего компьютера.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.