我正在研究一个新项目,我打算保留在一个git存储库中。我知道我将如何在CVS中这样做,但我对git有点新意,并可以使用一些建议。需要一个新项目的git回购布局建议
该项目是用于两个嵌入式设备的固件,这两个嵌入式设备可相互通话并打包成一对。对于这两种设备,都有代码的生产变体和制造变体。这两个设备项目都有许多用于锻炼各种硬件(闪烁LED等)或硬件相关位代码(驱动程序等)的子/同级项目。大部分代码在所有方面都很常见。
我还有一个要求,能够彼此独立地转换生产和制造固件,以防止通过验证发送另一个返回。
下面是我现有的目录布局。它有机地增长,并且在我知道我会使用git之前基本上已经放弃了。如果有更好的方法去做,我并不反对重组整个事情。
- ProjectRoot
- 包括
- SRC
- DeviceA
- 生产
- 制造
- 眨眼
- 按钮 个
- ...
- DeviceB
- 生产
- 制造
- 眨眼
- 按钮
- ...
我很想在分支机构上进行生产和制造,但我通常在给定的一天都工作,git只允许一个分支机构一次处于活动状态。然后,我不知道如何处理闪烁,按钮等,因为它们不是真正的制造或生产。建议?
澄清:
代码的制造版本用于在生产线上测试硬件。生产代码在硬件通过测试站之后加载,并发送给客户。两者至少有75%相似,但它们需要独立,因此我可以修复生产代码中的错误,而不必停止生产线。
由于DeviceA和DeviceB是一对,因此两个代码集都使用相同的发行版本号同时进行标记和发布。
经过大量的研究和实验,我决定采用子模块方法。公共代码位于主存储库中作为子模块包含的独立存储库中。主要的回购有生产(主),制造和测试分支机构,我保留3个当地克隆进行开发。感谢filmil的建议。 – 2009-05-27 05:12:52