管理具有差异的跨平台项目的存储库

Posted

技术标签:

【中文标题】管理具有差异的跨平台项目的存储库【英文标题】:Manage repository for cross-platform project with difference 【发布时间】:2021-11-14 21:21:54 【问题描述】:

我必须从事在桌面、移动设备和网络上运行的跨平台项目。 问题是 Web 应用程序和桌面/移动设备之间存在一些差异。某些功能仅针对 Web 应用程序开发,某些功能仅针对桌面/移动设备。

如何使用我的 VCS(在本例中为 git)处理此问题。

我只是想创建两个不同的主分支,一个用于 Web 部件,一个用于移动/桌面,但我不喜欢它。

有人可以帮我吗?

谢谢。

【问题讨论】:

【参考方案1】:

我不会使用分支来存储您的应用程序的不同版本。

Long-running branches 往往会随着时间的推移而分道扬镳,这使得保持应用程序的共享部分同步变得越来越困难,同时考虑到特定平台的差异。简而言之,那就是merge hell

相反,我会在架构级别寻找解决方案。也许您可以将应用程序的核心功能实现为共享库或 Web API,并让不同的 GUI 使用它?另一种解决方案是使用feature toggles 基于相同的代码库创建不同的配置。

【讨论】:

您好,感谢您的提示。我认为对于我的问题,我必须使用功能切换。

以上是关于管理具有差异的跨平台项目的存储库的主要内容,如果未能解决你的问题,请参考以下文章

全国PPP综合信息平台项目管理库2020年2月报

关注全国PPP综合信息平台项目管理库2020年2月报

Visual Studio 中的 Azure SQL 数据库 - 目标平台差异(V12 与普通)?

跨平台 Nuget 库

跪求一款,免费的BUG管理平台。

基于canvas实现的高性能跨平台的股票图表库--clchart