Git 如何在同一存储库中保留/维护公共和私有代码?(在储存库人质处)

Git 如何在同一存储库中保留/维护公共和私有代码?(在储存库人质处),git,github,mercurial,gitolite,assembla,Git,Github,Mercurial,Gitolite,Assembla,我正在进行我自己的项目,该项目包括两部分: A.内核/通用代码(公共部分) B.使用专有协议等的代码(私人部分,可供我和少数授权人员使用) 我想要存储库托管(可能是github、assembla等),它允许在同一存储库中的公共和私有分支中工作 我不想要两个存储库,因为我正在积极处理这两个部分,并且我希望避免存储库出现分歧 哪种解决方案适合我 它允许在同一存储库中的公共和私有分支中工作 这似乎与Git的工作方式不兼容:如果你有权访问回购协议,你可以克隆它的所有内容(包括分支) Git托管服务(如或

我正在进行我自己的项目,该项目包括两部分:

A.内核/通用代码(公共部分)

B.使用专有协议等的代码(私人部分,可供我和少数授权人员使用)

我想要存储库托管(可能是github、assembla等),它允许在同一存储库中的公共和私有分支中工作

我不想要两个存储库,因为我正在积极处理这两个部分,并且我希望避免存储库出现分歧

哪种解决方案适合我

它允许在同一存储库中的公共和私有分支中工作

这似乎与Git的工作方式不兼容:如果你有权访问回购协议,你可以克隆它的所有内容(包括分支)

Git托管服务(如或)允许您保护分支(意味着您不能后退)。但您仍然可以看到它的内容。
甚至


因此,两个独立的repo仍然是最好的方法,repo A(内核)声明为repo B的

您似乎也不需要子模块-git不会将子模块紧密地关联到您的repo。@Michael,git似乎会将子模块紧密地关联到主repo,通过gitlink:我认为我们只是对紧密联系有不同的概念,问题是指不在两个git回购中工作,子模块实际上是两个git回购-但据我所知,没有办法满足git中的公共和私人回购/分支机构-而且不需要。@Michael我同意。我的观点是:鉴于问题的前提,你不能只使用一个回购协议,因此需要两个回购协议以及两者之间的紧密联系:这意味着使用一个子模块。