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

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

另一种选择是克隆存储库,仅将单个分支推向企业,但随后我就失去了没有来自源/原始站点的所有分支的机会。

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

j2emanue asked 2020-07-27T12:27:49Z
2个解决方案
36 votes

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

最好的办法就是完全按照您的描述进行操作:克隆存储库,然后将其推送到GHE安装中,是的,您将失去存储库之间的分支关系。

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

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

Flimzy answered 2020-07-27T12:28:17Z
12 votes

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

脚步

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

    curl [https://github.yourenterprise.com/api/v3/user/repos] \ -u“ yourUsername” \ -d“ {\” name \“:\” whatever-repository \“,\” private \“: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-啊-repository/]

Pytry answered 2020-07-27T12:29:25Z
translate from https://stackoverflow.com:/questions/29952033/is-it-possible-to-fork-a-public-github-repo-into-an-enterprise-repository