我注意到https://github.com/apache/ant说“从 git://git.apache.org/ant.git 镜像”(带有链接),我也想这样做。
https://exyr.org/2011/git-mirrors/似乎是对一般技术(基本上是 cron 作业)的很好的描述,但我遇到了一些奇怪的错误,而且我没有看到“镜像自” https://github.com/pdurbin/openscholar(目的地)。我希望镜像的来源是https://github.com/openscholar/openscholar
这是我看到的(修剪过的)输出:
murphy:~ pdurbin$ cd /tmp
murphy:tmp pdurbin$ git clone --mirror https://github.com/openscholar/openscholar.git
Cloning into bare repository 'openscholar.git'...
remote: Counting objects: 167069, done.
remote: Compressing objects: 100% (51806/51806), done.
remote: Total 167069 (delta 112936), reused 166304 (delta 112255)
Receiving objects: 100% (167069/167069), 82.77 MiB | 650 KiB/s, done.
Resolving deltas: 100% (112936/112936), done.
murphy:tmp pdurbin$ cd openscholar.git
murphy:openscholar.git pdurbin$ git remote add github [email protected]:pdurbin/openscholar.git
murphy:openscholar.git pdurbin$ git fetch -q && git push -q --mirror github
remote: error: hook declined to update refs/pull/1001/head
remote: error: hook declined to update refs/pull/1001/merge
(snip)
remote: error: hook declined to update refs/pull/957/head
remote: error: hook declined to update refs/pull/957/merge
To [email protected]:pdurbin/openscholar.git
* [new branch] 1017 -> 1017
(snip)
* [new branch] origin/SCHOLAR-3.x-make-1072 -> origin/SCHOLAR-3.x-make-1072
* [new tag] SCHOLAR-2-0-BETA1 -> SCHOLAR-2-0-BETA1
(snip)
* [new tag] SCHOLAR-3.1.6 -> SCHOLAR-3.1.6
! [remote rejected] refs/pull/1001/head -> refs/pull/1001/head (hook declined)
! [remote rejected] refs/pull/1001/merge -> refs/pull/1001/merge (hook declined)
(snip)
! [remote rejected] refs/pull/957/head -> refs/pull/957/head (hook declined)
! [remote rejected] refs/pull/957/merge -> refs/pull/957/merge (hook declined)
error: failed to push some refs to '[email protected]:pdurbin/openscholar.git'
murphy:openscholar.git pdurbin$
关于输出中的错误消息:
您可能希望从您的镜像中排除拉取请求引用。我最近遇到了类似的问题,但反过来(GitHub 作为源而不是目标),但看起来它可能是相关的:
http://christoph.ruegg.name/blog/2013/1/26/git-howto-mirror-a-github-repository-without-pull-refs.html
我相信 ceejayoz 在关于 GitHub 员工需要帮助的评论中是正确的。他们建议简单地设置一个占位符,我在https://github.com/iqss/openscholar上做了
它没有我最初寻找的“镜像”,但我们可以没有它。