我在GitHub存储库中有一个公共的PHP项目,其中仅包含一个分支(主机)。
我想拥有一个对我来说是私有的单独分支/叉(我已经为私有GitHub存储库付费)。我希望能够合并从私有分支/分支到公共仓库的更改,反之亦然。
考虑到这一点,这是我的问题:
- 我可以在公共回购中设立私人分支吗?
- 我可以将自己的公共存储库分叉到自己的私有分支/叉中吗?
- 如果以上两种情况均可行,哪种方法最好?如果没有,我应该如何进行?
我在GitHub存储库中有一个公共的PHP项目,其中仅包含一个分支(主机)。
我想拥有一个对我来说是私有的单独分支/叉(我已经为私有GitHub存储库付费)。我希望能够合并从私有分支/分支到公共仓库的更改,反之亦然。
考虑到这一点,这是我的问题:
Answers:
在公共仓库中是否可以有私人分支?
在GitHub上,您的存储库是公共的或私有的;您不能选择性地仅对分支进行“私有化”。
我可以将自己的公共存储库分叉到自己的私有分支/叉中吗?
您可以将公共存储库克隆到本地计算机,根据需要进行分支,而不必将您的“私有”分支推到上游(通过指定将哪个分支推到原始位置:git push origin master
或git push origin branch-i-want-to-be-public:master
)。
哪种是最好的前进方式/我应该如何进行?
为了利用GitHub进行公共和私有开发,我建议分叉GitHub中的公共分支,将新fork的设置更改为“ Private”,然后将私有版本克隆到本地计算机。当您准备公开更改时,将所有内容推送到GitHub上的私有fork,然后使用拉取请求有选择地将分支复制到公共仓库。
要在GitHub上将存储库设为私有,您必须具有升级(付费)帐户。如果您只是免费帐户,那么您仍然可以使用我建议的第一个过程- 将public克隆到本地计算机,分支,并将特定的“ public”分支推送到原始位置 -不需要私人回购。
如果您有付费的GitHub帐户,或者正在使用提供公共和私有派生和拉取请求的另一项服务(例如BitBucket),则可以使用以上两种方法之一将代码公开。
我发现还有另一种更好的解决方案,因为它不会在同一台计算机上导致重复的存储库。
最终结果是1个存储库和2个远程存储库。1个公开,1个私有。
只需注意要推送的名称即可。