1

我已经git用作 VCS 来控制我开发的软件和固件。最近在硬件方面做了一些工作并得出结论,在 git 中控制 KiCAD 原理图和 PCB 文件也是可行的(请查看https://jnavila.github.io/plotkicadsch),我想知道将固件和硬件原理图放在同一个 git repo 中 - 并且可能由同一个github项目和问题跟踪器引用 - 可能非常有趣和高效,因为硬件和固件密切相关。

很多时候,固件中的新功能需要您修改电路板,而相反的情况也非常正确,所以最初对我来说可以在同一个 git 存储库中同时控制两者是有意义的,也许有一个子目录方案如:

project (in git)
   - kicad
   - firmware

子目录kicad将包含所有原理图和 PCB 文件,firmware并将保存固件的源代码,该固件应在 KiCAD 设计的硬件上运行。

这将利用项目的问题跟踪器来解决错误或设置里程碑,这通常需要对固件和硬件采取行动,从而更容易开发和维护具有一致修改的产品,具有用于测试新功能的不同分支等.

你有没有试过或想过这个?你能预见到任何“炫耀者”或强烈建议不要这样做的东西吗?

4

1 回答 1

1

从您的链接:

Kicad 是我所知道的唯一一个使用漂亮的文本格式来管理所有数据的电子 CAD。

如果原理图和PCB文件是文本文件,这可能是个好主意,而且几乎没有缺点。

二进制文件

但是,如果它们是二进制文件,那么它有点取决于。在我的脑海中,git 的“最坏情况”文件都是:

  • 体积大
  • 高熵(一个小的逻辑变化会导致文件的大变化,例如压缩/加密)
  • 经常变化

如果您的文件类型是这三种类型,那么 git 将失去大量的效率。否则,git 通常可以很好地处理二进制文件。

团队工作流程

您链接的文章还谈到了一些处理粗糙边缘的额外内容:

  • 配置gitignore
  • clean/smudge忽略非逻辑项目文件save_at日期
  • 示意图微分性

所有这些事情都涉及您希望在团队中同步的各种配置/定制。Git 有很多强大的内置方法来自定义行为(例如提交/推送挂钩)。也许您可以提交一个共享脚本,该脚本可以为存储库初始化这些自定义配置。

现在花费这项工作意味着自动化工作流程并防止未来的麻烦——您将不得不权衡收益/成本。

于 2019-11-14T02:49:56.650 回答