在主要项目存储库中包括实用存储库,并允许自定义
-
26-10-2019 - |
题
我正在努力改善某些项目中的源代码冗余,并且面临问题。
可以说,我有一些我使用更多项目的实用程序。示例:构建脚本和测试脚本,这些脚本和测试脚本足够通用,可以在所有项目上使用,但还具有一些可以为每个项目定制的配置文件。
我想在一个地方维护构建 - 订阅逻辑(修复错误并添加改进),并在所有使用它的项目中都轻松地使更改更容易,但也不会破坏配置文件。
我知道我不能使用git subpodules做到这一点,因为配置文件需要将PE定为实用程序存储库而不是项目一个。
我也一直在看 git-subtree, ,但我不确定它在做我想要的。
有人以前有过这个吗?
解决方案
我知道我不能使用git subpodules来执行此操作,因为配置文件需要投入到实用程序存储库而不是项目一个。
实际上,如果您的每个项目都是GIT存储库,则实际上可以使用子模型。
然后,每个项目(父存储库)将引用实用程序存储库的特定分支的特定提交,每个分支都及其为每个项目量身定制的实用程序。
但是,对于紧密链接的文件集(一侧的公用事业,另一侧投影),最好将所有内容保留在一个存储库中并使用一个 内容过滤器驱动程序:
你将会拥有:
- 通用实用程序版本为模板(即没有其值)
- 价值文件(每个项目一个)
- 一个版本的脚本,可以在'
smudge
脚本,为每个项目中生成最终实用程序(前提是您的脚本能够 检测模板实用程序的内容).
不隶属于 StackOverflow