c# - 如何在 git 中维护库的“lite”和“pro”?
问题描述
我有两个版本lite
和pro
我的图书馆。这些文件可以是重叠的、不同的和pro
唯一的。
我想在 git 上维护它们,可能一个在 gitlab 上,另一个在 github 上,或者两者都在 gitlab 上,因为 gitlab 支持私有仓库(对于我的pro
)。
这种情况有方便的做法吗?我很不喜欢做两次提交动作。
解决方案
在 C# 中,您可以根据项目配置#if
定义的预处理器标识符来添加代码块。
IE。而不仅仅是“Debug”和“Release”构建,您有“Lite-Debug”、“Lite-Release”、“Pro-Debug”和“Pro-Release”(在较大的项目中,四个似乎是少量配置)
部分函数也可以提供帮助(允许代码调用可能存在或不存在的代码)。
如果您希望“精简版”版本是开源的并且完全关闭,那么您需要一种不同的方法。您可以并行维护这两个版本(这将使对 lite 版本的贡献更容易,但请注意将第三方更改复制到您的封闭版本的许可影响)。
或者使用处理工具从完整版本中提取精简版,所有维护都在完整、封闭源代码版本上完成。
推荐阅读
- laravel - 哎呀,看起来 laravel 5.8 出了点问题
- sql - 如何将行中的一些值转置为列?
- r - 编写一个 R 函数来查找二进制子集
- docker - 使用 docker-compose 创建一个仅限内部的 Docker 覆盖网络
- asp.net - ASP.NET Form 会从 Barcode 中获取价值吗
- aspose.words - Aspose 生成的 doc 文件为某些用户将下划线变为空白
- linux - 如何从 Kubernetes 服务 laravel 后面的 HTTP 请求中读取客户端 IP 地址
- apache-spark - 捕获从 Spark 写入操作输出的文件名
- python - 通过套接字向客户端发送图像将不起作用 python
- mysql - SQL 表主键的索引从 3 开始