从其他用户克隆存储库,但从主服务器推送/拉出

时间:2014-01-28 08:37:31

标签: git git-push git-pull git-clone

很少有用户将主服务器与存储库一起使用并通过以下方式克隆:

git clone --recursive git@gitsrv:Android/sw/Android.git

持续很长时间(超过一天)。

所以我读过如果他已经从服务器克隆了repo,我可以直接从其他用户克隆: How can I 'git clone' from another machine?

但我不能进入其他用户回购。我必须推送到主服务器。并且还必须从服务器而不是从其他用户进行进一步的拉取。怎么做?

顺便说一下:定义了“gitsrv”(它是一种符号链接?)?

1 个答案:

答案 0 :(得分:1)

这可以通过在用户计算机上运行git daemon轻松完成 - 假设它被称为machineA。示例 - git daemon --base-path=<absolute full path to git repo>

要从该计算机克隆 - git clone git://machineA/foo.git

要推送到其他计算机,请添加远程服务器 - git remote add main ssh://mainServer/foo.git,然后使用git push -u main master推送

删除git remote remove origin对machineA的引用。假设您的远程服务器名为origin。如果您不确定可以通过运行git remote -v来检查的名称,则会列出参考名称和URL。

如果您想保留名称origin,只需运行git remote set-url origin ssh://mainServer/foo.git

设置网址即可