从私人GitHub回购转向公共和私人

时间:2012-03-07 10:53:51

标签: git version-control github

我在GitHub上使用私人仓库开发了一个客户项目。我们现在要做的是打开它的某个部分并生成项目的开源版本。我们的想法是客户的版本将建立在这个版本之上。对开源版本所做的任何更改也应该流向私有版本。

现在,问题在于我无法将当前的GitHub仓库设置为对所有人可见。某些代码片段应仅供客户使用。那么,对于实际的一组问题:

  1. 是否可以设置一对GitHub存储库,以便在fork保持私有时父级是公共的?
  2. 我可以完全从回购中删除一些文件及其历史记录吗? (如果可能,我可以再将它们添加到那里。)
  3. 我想我可以从头开始回购,然后根据那个工作,但在这种情况下,我会丢失一些有价值的历史信息。

    任何想法都表示赞赏。如果需要,我可以为您提供更多细节。

2 个答案:

答案 0 :(得分:4)

关于你问题的第二部分:

您可以使用git filter-branch从历史记录中删除文件或整个目录。

另请参阅问题:How do I remove sensitive files from git's history

答案 1 :(得分:4)

您可以尝试将项目分成两部分,然后使用git submodule连接它们。

私有的父项目可以保存一个公开的子模块项目。

有关详细信息,请参阅http://help.github.com/submodules/