创建官方github镜像

创建官方github镜像,github,mirroring,Github,Mirroring,如何为外部git存储库创建github镜像,使其显示为“真实镜像”,如中所示 到目前为止,我使用以下方法设置了一个镜像: cd /path/to/bare/repository git remote add --mirror github git@github.com:user/repo.git 并将post接收钩子配置为执行一个git push--quiet github。但是,通过这种方式,github无法识别镜像 有没有任何想法可以通过github的方式实现,比如“Mirrorred f

如何为外部git存储库创建github镜像,使其显示为“真实镜像”,如中所示

到目前为止,我使用以下方法设置了一个镜像:

cd /path/to/bare/repository
git remote add --mirror github git@github.com:user/repo.git
并将post接收钩子配置为执行一个git push--quiet github。但是,通过这种方式,github无法识别镜像


有没有任何想法可以通过github的方式实现,比如“Mirrorred from”出现在repository名称下面?

基于与github的支持团队的沟通,我发现github目前没有提供用户以这种方式镜像存储库的直接机制

但是,可以要求GitHub为组织中的存储库安装此服务。然后,GitHub将现有存储库配置为镜像,并以其拥有的总镜像数为函数的时间间隔从中提取镜像


编辑:斯图尔特指出,GitHub不再接受镜像任意存储库的请求。剩下的唯一选择是我在问题中发布的解决方案,即创建一个post receive挂钩,自动推送到您的GitHub存储库。

根据当前的内容判断,GitHub似乎不再是“官方镜像”,因为现在大多数希望在GitHub上镜像代码的项目只是将其作为一个组织,比如

还有一个功能请求,地址为:

,根据:

出于演示目的,我们将使用:

  • 名为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
我使用了一个名为“中等成功”的工具,至少对Github用户或组织进行了完整备份(包括问题和其他元数据)。引述:

每次运行github备份时,它都会在github上找到任何新的分支。它将使用诸如
github\u torvalds\u subground
之类的名称向您的fork存储库添加遥控器。它会从每一个叉子上取回来

它从每个fork下载元数据。这将存储到名为“github”的分支中。每个fork在那里都有一个目录,比如
torvalds\u
。目录中会有一些文件,如
torvalds\u/watchers
。可能还有更多的目录,如注释:
torvalds\u/comments/1

您可以按照github分支的提交来查看github上随时间变化的信息

github分支中的文件格式当前为Haskell序列化数据类型。这是纯文本,如果你斜视的话,它是可读的

限制包括:

  • 没有私有存储库支持
  • 没有明星、粉丝等“社交”的东西
  • 提交行的注释不受支持(尚未支持?)
  • 发行标签

镜像repo的另一个例子,全部来自Apache,实际上,其中一些具有GitHub镜像repo。他们仍然会这样做,但前提是你是项目的开发人员,也就是说,没有“非正式”镜像。正如他们所说的,只针对组织。
git-clone-bare
git-clone-mirror
之间有什么区别?第二种变体在这里不是更合适吗?