我的库有两个版本lite
和pro
。文件可以重叠,不同,仅限pro
。
我想在git上维护它们,可能是gitlab上的一个,github上的另一个或gitlab上的两个,因为gitlab支持私有repos(对于我的pro
)。
这种情况有方便的做法吗?我完全不喜欢做两次提交动作。
在C#中,您可以使用#if
添加代码块,具体取决于project configuration定义的预处理器标识符。
IE浏览器。而不只是“调试”和“发布”版本,你有“Lite-Debug”,“Lite-Release”,“Pro-Debug”和“Pro-Release”(在较大的项目中,有四个看似少量的配置)
Partial functions也可以提供帮助(允许代码调用可能存在或不存在的代码)。
如果您希望“lite”版本是开源的并且要完全关闭,那么您需要一种不同的方法。您可以并行维护这两个版本(这将更轻松地为lite版本做出贡献,但要注意将第三方更改复制到已关闭版本的许可证影响)。
或者使用处理工具从完整版本中提取lite版本,所有维护都在完整的闭源版本上完成。
您可以使用单个仓库。 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中。