我的组织正准备使用github发布我们软件的开源版本,但是我不确定解决这个问题的最佳方法:
我们有两个分支master和release,master包含一些我们决定不发布的专有组件,release包含我们想要分发的清理版本.问题是,如果我们只是将发布分支推送到github,可以通过查看修订历史来检索专有组件.
我正在考虑创建一个单独的存储库,将HEAD of relase复制到其中,执行a git init,并将该存储库推送到github.但是,我们希望保留能够在将来从主服务器中挑选某些补丁到发布的能力,并将这些更改推送到github.
有没有办法在不维护两个separte存储库的情况下执行此操作?
谢谢!
更新:
更具体一点,这就是我们的提交历史目前的样子:
--- o - o - o - o - f - o - o - f - master
\
c - c - c - c - c - c - c - REL - f - f
Run Code Online (Sandbox Code Playgroud)
'o'是master,专有分支中的提交,'c'是提交,删除不应发布的内容(通常不会删除整个文件,但重新处理现有文件不依赖于专有组件),'f'是修复了适用于发布的大师,因此被挑选出来.REL是我们认为可以安全发布的代码的标记版本,没有任何历史记录(甚至是发布分支的早期版本,因为并非所有专有材料都在REL标记之前被删除).