创build一个官方github镜像
如何为外部的git仓库创build一个github镜像,使其显示为“真正的镜像”,例如https://github.com/mirrors ?
到目前为止,我使用以下方法build立镜像:
cd /path/to/bare/repository git remote add --mirror github git@github.com:user/repo.git
并configuration后接收挂钩做一个git push --quiet github
。 然而,这种方式,github不承认镜子。
任何想法如何做到这一点的github的方式,这样的“镜像”出现在该repostiory名下面?
基于与github的支持团队沟通,我发现github目前没有提供直接的机制让用户以这种方式来镜像存储库。
但是,可以要求github为作为组织一部分的存储库安装此服务。 然后,Github将现有的存储库configuration为这样一个镜像,并在一个时间间隔内进行抽取,这个间隔是它们所具有的全部镜像的数量的函数。
编辑 :正如Stuart指出的那样,github不再接受镜像任意存储库的请求。 唯一剩下的select是我在我的问题中发布的解决scheme,即创build一个post-receive钩子来自动推送到你的github仓库。
github上的以下页面为您提供了设置外部git仓库镜像的必要指示。 https://help.github.com/articles/importing-an-external-git-repo
从目前https://github.com/mirrors的内容来看,GitHub不再是“官方镜像”,因为大多数希望他们的代码在GitHub上镜像的项目只是为它创build了一个组织,比如Git本身; 。
还有一个function请求: https : //github.com/isaacs/github/issues/415
根据导入Git :
为了演示的目的,我们将使用:
- 一个名为extuser的外部帐户
- 一个名为ghuser的GitHub个人用户帐户
- 名为repo.git的GitHub存储库
命令行:
# Makes a bare clone of the external repository in a local directory $ git clone --bare https://githost.org/extuser/repo.git # Pushes the mirror to the new GitHub repository $ cd *repo.git* $ git push --mirror https://github.com/ghuser/repo.git # Remove the temporary local repository. $ cd .. $ rm -rf repo.git