是否可以将公共GitHub仓库分叉到企业存储库中?

j2e*_*nue 46 git github git-branch

存在用于快速框架公共回购这里.我希望能够将它分成私有企业GitHub存储库.分叉将允许所有分支保留.

另一种方法是克隆repo并将只有一个分支推送到企业,但后来我失去了没有源/源的所有分支.

更新:我最终将所有分支推入企业git.如果你只是做一个git push yourRemoteName myNewBranch那么它会将代码推送到企业git上的那个分支,同时在企业GitHub中创建该分支.

Fli*_*mzy 37

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

你可以做的最好的就是你所描述的:克隆回购,然后将其推送到你的GHE安装,是的,你将失去回购的分支关系.

另一个选择是保持公共GH回购的分叉 - 可能与GHE回购保持同步(手动或与cronjob同步).然后你将拥有两个repo实例,而public的实例将保留与原始repo的分支关系.

根据您需要将其置于GHE上的原因,它可能会也可能不会起作用.如果你是私人捐款,它显然是行不通的 - 因为你的私人捐款将不再是私人捐款.如果你想在GHE上因为某些公司政策将内部使用的所有开源项目保存在GHE或类似的东西上,那么它会起作用,增加了管理开销,使repo保持同步两个位置.

  • 您可以通过使用`--mirror`参数进行克隆和推送来保留分支. (10认同)

Pyt*_*try 17

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

脚步

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

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

  2. 创建一个叉子的裸克隆

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

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

    cd ./whatever-repository.git/

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

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

更多信息

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