单个Git存储库中的公共和私有代码

我参与的一个研究小组目前将所有代码托管在一个私有SVN存储库中.我们想打开我们的代码并将大部分代码移到Github上.问题是,一些代码是敏感的,不应该打开,但我们仍然希望它在版本控制下.目前,我们在Github上有开放代码,私有代码仍在私有SVN存储库中.有一个很好的方法在一个Git存储库中执行此操作吗?
最佳答案
使用单个git存储库,没有.你可以做的是使用git submodules,它允许你“组合”存储库.将您的公共代码保存在github上,为您的私有代码创建另一个私有托管的git存储库,该代码将公共代码作为子模块引用.在公共子模块中进行的更改可以推送到github,并且github上的更改可以被撤回,但子模块之外的更改不会暴露给公共社区.虽然代码树将合并为单个根,但您必须在单独的模块之间独立管理提交,推送和提取,许多人发现这些模块很麻烦且有问题,因此您应该在广泛分发之前对工作流进行一些实验.

转载注明原文:单个Git存储库中的公共和私有代码 - 代码日志