VCS结构项目明智或平台明智的最佳做法是什么?
问题描述:
我最近加入了一个组织,并面临git回购结构的问题。什么是保持git仓库结构的最佳方法:VCS结构项目明智或平台明智的最佳做法是什么?
在一个仓库完整的项目(前端(角,HTML),后端,Android和iOS的单式回购)
创建为每个平台单独回购。 在早期的组织中,我们曾遵循第二种方法为每个平台创建单独的回购,但在当前的平台中,我们的架构工程师告诉我最好为所有平台保留单回购。
有很多每个平台单回购的伟大工程实例对git的,如:
但我没有找到著名的库作为多个项目的单个存储库的任何实例。
任何人都可以解释两种方法的确切优点和缺点,什么是最好的解决方案? 如果任何人都可以帮助我在这里,这是非常可观的,在此先感谢。
答
Unlick Subversion,对单个单一项目来说很好,Git最适合小型项目。
原因是Git的冲突范围是整个存储库。在推送之前,您必须更新存储库。远程更改通常可以自动合并,但如果发生冲突,则必须手动解决。保持较小的存储库有助于减少合并的机会。
如果您有一个很好的解决方案,最好将它保存到多个存储库中。通常每个模块/ DLL/Visual Studio项目都是一个存储库。
又见专业的Git,布伦特拉斯特
答
简而言之:
- 对于VCS多个项目,如果项目是相互关联,你最好在同一回购管理它们。否则,您最好在单独的存储库中管理它们(如您链接的Firebase中的项目)。
- 对于VCS中的一个项目,无论项目多么复杂,您都应该在一个回购协议中进行管理。
根据您的情况,所有平台(对于前端和后端)都为同一项目做出贡献,因此您应该在单个回购库中对其进行管理。如果您针对不同的平台在单独的回购库中管理项目,则会减少项目的耦合度和关系,尤其是当您需要测试项目级别时。对于不同的平台,您可以在不同的分支管理它们,这是项目版本控制的常用方式。
对于由多个平台开发的项目,这是一个示例realworld。
您是否得到了可帮助您解决问题的答案?如果是,您可以将其标记为答案。而且这也会使其他有类似问题的人受益。 –