我已经克隆了一个公共github存储库(比如projectA)并创建了一个私有github存储库(比如projectAPrivate),然后镜像将克隆的projectA推送到projectAPrivate(如此处所述https://help.github.com/articles/duplicating-a-repository
git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository
cd ..
rm -rf old-repository.git
# Remove our temporary local repository
)
从那时起,我已将更改推送到projectAPrivate,现在projectA已发布新版本。如何从公共projectA存储库拉取/合并更改到我的私有github项目projectAPrivate。
答案 0 :(得分:0)
我认为Github的帮助页面也有你问题的答案:https://help.github.com/articles/duplicating-a-repository
如果要在其他位置镜像存储库,包括 从原始获取更新,您可以克隆镜像和 定期推动变革。
$ git clone --mirror
$ https://github.com/exampleuser/repository-to-mirror.git
# Make a bare mirrored clone of the repositor
$ cd repository-to-mirror.git git remote set-url --push origin
$ https://github.com/exampleuser/mirrored
# Set the push location to your mirror
与裸克隆一样,镜像克隆包括所有远程分支和标记,但都是本地的 每次获取时都会覆盖引用,因此它将始终被覆盖 与原始存储库相同。设置推送的URL 简化了对镜子的推动。要更新镜像,请获取 更新和推送,可以通过运行cron作业自动完成。
git fetch -p origin
git push --mirror
答案 1 :(得分:0)
您可以在projectAPrivate根目录
上运行follow命令git remote add public https://github.com/exampleuser/old-repository.git
git pull public master
然后您将从projectA存储库获取所有更新,然后请合并更改,解决冲突等,之后,您可以运行follow命令将其提交到projectAPrivate
git push origin master