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

问题描述 投票:-1回答:2

我的库有两个版本litepro。文件可以重叠,不同,仅限pro

我想在git上维护它们,可能是gitlab上的一个,github上的另一个或gitlab上的两个,因为gitlab支持私有repos(对于我的pro)。

这种情况有方便的做法吗?我完全不喜欢做两次提交动作。

c# git github gitlab
2个回答
1
投票

在C#中,您可以使用#if添加代码块,具体取决于project configuration定义的预处理器标识符。

IE浏览器。而不只是“调试”和“发布”版本,你有“Lite-Debug”,“Lite-Release”,“Pro-Debug”和“Pro-Release”(在较大的项目中,有四个看似少量的配置)

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


如果您希望“lite”版本是开源的并且要完全关闭,那么您需要一种不同的方法。您可以并行维护这两个版本(这将更轻松地为lite版本做出贡献,但要注意将第三方更改复制到已关闭版本的许可证影响)。

或者使用处理工具从完整版本中提取lite版本,所有维护都在完整的闭源版本上完成。


-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中的单个repo中。

© www.soinside.com 2019 - 2024. All rights reserved.