[英]Is it possible to fork a public GitHub repo into an enterprise repository?
存在用于快速框架公共回购这里。 我希望能够将其分叉到私有企业 GitHub 存储库中。 分叉将允许所有分支保留。
另一种方法是克隆 repo 并仅将一个分支推送到企业,但随后我失去了没有来自源/原始分支的所有分支。
更新:我最终将所有分支都推送到了企业 git 中。 如果您只是执行 git push yourRemoteName myNewBranch ,那么它会将代码推送到企业 git 上的该分支,同时在企业 GitHub 中创建该分支。
这是不可能的,因为您的 GitHub Enterprise (GHE) 安装与公共安装是分开的,因此两个系统无法跟踪彼此的分支关系。
您能做的最好的事情就是按照您的描述:克隆存储库,然后将其推送到您的 GHE 安装中,是的,您将丢失存储库之间的分支关系。
另一种选择是在公共 GitHub (GH) 存储库上保留一个分支——可能使其与您的 GHE 存储库保持同步(手动或使用 cronjob)。 然后你会有两个你的回购实例,公共的一个将保留与原始回购的分支关系。
根据您需要将其放在 GHE 上的原因,它可能会也可能不会起作用。 如果您进行私人捐款,它显然不会起作用——因为您的私人捐款将不再是私人的。 如果由于某些公司政策,即内部使用的所有开源项目都保存在 GHE 或类似的东西上,而希望在 GHE 上使用它,那么它会起作用,但会增加使 repo 在两个地方保持同步的管理开销。
虽然无法从公共 GitHub直接分叉到您的企业安装,但您可以在公共 GitHub 上分叉它,然后在您的企业安装上镜像该分叉存储库。
脚步
curl https://github.yourenterprise.com/api/v3/user/repos \\ -u "yourUsername" \\ -d "{\\"name\\": \\"whatever-repository\\", \\"private\\": true }"
git clone --bare https://github.com/publicGitHubUser/forked-repository.git
cd ./whatever-repository.git/
--mirror
标志的存储库推送到您的企业 GitHub git push --mirror https://github.yourenterprise.com/enterpriseGitHubUser/forked-repository.git
更多信息
如果您使用 GitHub Enterprise,那么您将自动获得对 GitHub Enterprise Cloud 的访问权限,即https://github.com/enterprises/mycompany ,具有相同的许可证计数。 这可以通过 SAML 链接到您的内部 Active Directory。 然后,您可以简单地在 GitHub 中将其分叉,但仍将其保留在您公司的控制范围内。
遗憾的是,如果您真的需要在内部实例上使用它,您仍然需要对其进行镜像克隆。 但是,当您现在控制两端时,您应该能够使用 GitHub 操作(或应用程序)更智能地保持它们同步。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.