是否可以将公共GitHub存储库派生到企业存储库中?

问题描述 投票:46回答:3

[存在一个针对快速框架here的公共仓库。我希望能够将其分叉到私有企业GitHub存储库中。分叉将保留所有分支。

替代方法是克隆存储库,仅将单个分支推向企业,但随后我迷失了没有源/原始的所有分支的情况。

更新:最后,我将所有分支机构推入了企业git。如果您只是执行git push yourRemoteName myNewBranch,则它将在企业GitHub中创建该分支时将代码推入到企业git的该分支中。

git github git-branch
3个回答
37
投票

这是不可能的,因为您的Enterprise GitHub安装与公共安装是分开的,所以这两个系统无法跟踪彼此的分支关系。

您所能做的就是完全按照您的描述:克隆存储库,然后将其推送到您的GHE安装,是的,您将失去存储库之间的分支关系。

另一个选择是在公共GH回购上保留一个分叉-可能使其与GHE回购保持同步(手动或与cronjob同步)。然后,您将拥有两个您的仓库的实例,而公共实例将保留与原始仓库的分支关系。

取决于您为什么需要将其放在GHE上,它可能会或可能不会起作用。如果您要进行私人捐款,那么它显然将不起作用-因为您的私人捐款将不再是私人的。如果由于某些公司政策而希望在GHE上使用它,则内部使用的所有开源项目都保留在GHE上或类似的东西上,那么它将起作用,并增加了使回购在两个地方同步的管理开销。


17
投票

虽然不可能从公共GitHub 直接]派生到企业安装中,但是您可以将其存储在公共GitHub上,然后在企业安装中镜像该分支的存储库。

步骤

  1. 在企业GitHub上创建一个空的存储库:

    卷曲https://github.yourenterprise.com/api/v3/user/repos \-u“ yourUsername” \-d“ {\” name \“:\”任何存储库\“,\”私有\“:true}”

  2. 创建叉子的裸克隆

  3. git clone --bare https://github.com/publicGitHubUser/forked-repository.git

  4. 更改目录,以便您位于裸露的克隆文件夹中:

  5. cd ./whatever-repository.git /

  6. 将带有“ --mirror”标志的存储库推送到您的企业GitHub

  7. git push --mirror https://github.yourenterprise.com/enterpriseGitHubUser/forked-repository.git

    更多信息

https://help.github.com/articles/duplicating-a-repository/


0
投票

@ tasomaniac。看起来像这样

© www.soinside.com 2019 - 2024. All rights reserved.