在GitHub上有一个公共回购的私人分支?

问题描述:

我有一个GitHub仓库中的公共PHP项目,其中只包含一个分支(主)。在GitHub上有一个公共回购的私人分支?

我想拥有一个单独的分支/分支,这对我来说是私有的(我已经为私有GitHub回购付款)。我希望能够将来自私人分支/分支的更改合并到公共回购中,反之亦然。

考虑到这一点,这里是我的问题:

  1. 我能在公共回购的私人分支?
  2. 我可以将自己的公共回购交易到我自己的私人分行/分支吗?
  3. 如果以上两种都是可能的,哪个是最好的前进方向?如果两者都不,我应该如何继续?
+1

将公共存储库作为私有存储库进行分支并不是最好的办法,您可以在其中创建多个不推送(返回)到公共存储库的分支(反之亦然)? – Legolas

+0

那是什么我问,我希望能够建立公共回购的副本,但我的更新是私有的(除非我想要把具体的事情回到公众一个) – Lizard

+0

http://24ways.org/2013/keeping - 你的代码库的私人部分/ github/ – assylias

是否有可能对公共回购的私人分支?

在GitHub上,您的存储库是公共或私有的;你不能有选择地“私有化”一个分支。

我可以将自己的公共回购交易到我自己的私人分行/分支吗?

您可以根据需要复制你的公开回购到本地机器上,分支,根本就不是上游把你的“私人”的分支(通过指定分支推到原点:git push origin mastergit push origin branch-i-want-to-be-public:master)。

哪一个是最好的前进方向/我该如何继续?

为了充分利用GitHub上的为您的公共和私人开发,我建议分叉内GitHub上的公共分支,改变了新的分支,以“私人”的设置,然后克隆专用版到您的本地机器。当你准备好公开更改时,将所有内容都推送到GitHub上的私人分支,然后使用pull requests选择性地将分支复制到公共回购。

要在GitHub上创建一个私有存储库,您必须拥有升级后的(付费)帐户。如果你只是摇摆免费帐户,您仍然可以使用第一个过程,我建议— 克隆公众对本地机器,分支机构,并推动具体的“公共”分支原点 —无需私人回购协议。

如果您有付费的GitHub帐户,或正在使用另一种提供公共和私人分支和拉取请求的服务(例如BitBucket),那么您可以使用上述任一方法公开您的代码。

+15

GitHub不允许你制作公共回购私有分支。您必须复制回购以使其变为私密,然后您将失去与公共回购的关联。我想知道是否可以将公共回购作为单独的远程设备添加到您的本地私人回购克隆中。然后将分支推送到该遥控器。 – mj1531

+0

刚刚尝试过。有用! – mj1531

+0

不幸的是,它不可能使用pull请求将更改从私有“分支”中提取到存储库的公共副本。 –

1)是否有可能有专用于公共回购

据我所知,没有。

2)我可以我自己的公共回购叉到我自己的私有分支

不,你不能fork一个完整的回购(1-N分支)合并为一个分支。实际上你可以,如果你只是分叉完整回购的一个分支。只需将其添加为远程或从克隆开始即可。您可能也有兴趣Sparse checkouts

3)如果两个以上的有可能是前进的最好方式

N/A

4)如果没有可能是我应该如何着手?

N/A

  1. Duplicate your repo
  2. 使复制的回购在GitHub上的私人之一。
  3. 克隆私人回购为您的机器
  4. 添加远程到您的公共回购(GIT远程添加公共[email protected]:...)
  5. 与犯下用于您的公开回购该新推分行公共远程。 (确保你不小心犯私人唯一的代码)
  6. 可以使用“混帐获取公众”,然后在本地合并它们推到您的私人回购协议(产地远程)带来的变化你的公开回购。
+0

复制对我来说工作正常,但我必须按照相反的顺序进行,首先创建一个私人回购站,然后从命令行复制公共回购站。谢谢! – Joel