将Git仓库从源头推送到镜像,而无需下载到本地

时间:2019-01-13 07:35:54

标签: git mirror

在一台远程服务器上有一个Git存储库,需要镜像到另一台服务器,没有本地副本。可能吗?

当前解决方案,带有本地副本

## Init once
git clone --bare url/origin-server/repo
git remote add mirror url/mirror-server/repo
## usual procedure
git fetch origin --force --prune '*:*'
git push --mirror mirror

要使用类似的

git remote-mirror url/origin-server/repo url/mirror-server/repo

,无需本地副本。

1 个答案:

答案 0 :(得分:0)

如果您可以使用mirror-server,则可以在其中进行克隆:

ssh mirror-server git clone url/origin-server/repo

如果您不能ssh但两个存储库都托管在Github或Gitlab上,则可以使用它们的API(GithubGitlab)来分叉存储库。

在一般情况下(没有ssh,没有API),您很不走运,而中间的本地裸回购是唯一的方法。