我在GitHub仓库中有一个公共PHP项目,它只包含一个分支(主)。
我想要一个独立的分支/分支对我来说是私有的(我已经支付了私人GitHub回购)。我希望能够将私有分支/分支的更改合并到公共仓库,反之亦然。
考虑到这一点,这是我的问题:
答案 0 :(得分:84)
是否可以在公共仓库上设置私人分支?
在GitHub上,您的存储库是公共存储库或私有存储库;你不能选择性地“私有化”一个分支。
我可以将自己的公共仓库分配到我自己的私人分支/叉子吗?
您可以将公共仓库克隆到本地计算机,根据需要进行分支,而不是将上游的“私有”分支推送到上游(通过指定哪个分支推送到原点:git push origin master
或git push origin branch-i-want-to-be-public:master
)。
这是最好的前进方式/我应该如何进行?
为了利用GitHub进行公共和私人开发,我建议在GitHub中分配您的公共分支,将新分支的设置更改为“Private”,然后将私有版本克隆到您的本地机。当您准备好公开更改时,将所有内容推送到GitHub上的私有分支,然后使用pull requests有选择地将分支复制到公共仓库。
要在GitHub上将存储库设为私有,您必须拥有已升级的(付费)帐户。如果您只是摇摆免费帐户,您仍然可以使用我建议的第一个流程 - 将公共克隆到本地计算机,分支,并将特定的“公共”分支推送到原始 - 无需私有仓库
如果您有付费的GitHub帐户,或正在使用提供公共和私人分叉和提取请求的其他服务(例如BitBucket),那么您可以使用上述任一方法公开您的代码。
答案 1 :(得分:37)
答案 2 :(得分:8)
我发现还有另一种更好的解决方案,因为它不会导致同一台计算机上的重复存储库。
最终结果是1个存储库和2个远程存储库。 1个公开,1个私有。
只需注意要按哪个名称进行命名即可。
答案 3 :(得分:1)
1。)是否可以在公共仓库上设立私人分支
据我所知,没有。
2.。)我可以将自己的公共回购分配到我自己的私人分支
不,你不能把一个完整的仓库(1-n分支)分成一个分支。实际上你可以,如果你只是分叉完整回购的一个分支。只需将其添加为遥控器或从克隆开始。
您可能也对Sparse checkouts感兴趣。
3。)如果以上两者都是可能的,这是最好的前进方式
N / A
4。)如果两者都不可能,我该怎么办?
N / A