如何在git中维护库的“ lite”和“ pro”?

时间:2018-09-07 10:34:40

标签: c# git github gitlab

我的图书馆有两个版本litepro。这些文件可以重叠,不同且仅pro

我想将它们维护在git上,也许一个维护在gitlab上,另一个维护在github上,或者两者都维护在gitlab上,因为gitlab支持私有仓库(对于我的pro)。

在这种情况下是否有方便的做法?我完全不喜欢两次执行提交操作。

2 个答案:

答案 0 :(得分:1)

在C#中,您可以根据#if定义的预处理程序标识符,使用project configuration添加代码块。

即。不仅是“ Debug”和“ Release”构建,还具有“ Lite-Debug”,“ Lite-Release”,“ Pro-Debug”和“ Pro-Release”(在较大的项目中,四个配置似乎很少) )

Partial functions也可以提供帮助(允许代码调用可能存在或不存在的代码)。


如果您希望“精简版”是开源的,而要关闭完整版,则需要使用其他方法。您可以并行维护两个版本(这将简化对精简版的贡献,但请注意将第三方更改复制到封闭版会带来的许可证影响)。

或使用处理工具从完整版本中提取精简版本,所有维护工作均在完整,封闭的源版本中进行。

答案 1 :(得分:-1)

您可以使用一个回购。 1)在git,lite和pro中建立两个不同的分支。 2)还要建立另一个分支,称为dev-lite和dev-pro。这将具有开发人员正在进行的版本。 3)同时告诉所有开发者分叉仓库。 (或者,如果分叉听起来很困难,请为每个开发人员分别创建一个分支)

现在,开发人员将分叉您的存储库,并将所做的更改提交给dev-lite和dev-pro,无论他们在哪个分支上工作。经过一些代码审查后,应该有一个管理员合并了这些更改。

4)配置Jenkins构建服务器,以便通过提交更新dev-lite或dev-pro分支后,将立即运行构建并将其发布到各自的环境。

5)现在,进入发布阶段,一旦做出决定,您需要在dev-lite和dev-pro分支中标记版本,并将代码重新绑定/合并到pro和lite分支。

6)该分支的代码将是您的生产代码,并将为客户端实时运行。

通过这种方式,您可以将lite和pro都放入git中。