这是情况。我在服务器 A 上有一个远程 git 存储库。此外,我必须在桌面 B 上使用此存储库中的相同源代码工作。由于访问服务器 A 的带宽有限,我想在桌面 B 上为存储库设置一个本地镜像。
现在,我已经通过以下方式设置了镜像存储库
git clone --mirror https://repository-on-server-a /local/repo/path.git
我已经通过以下方式测试了本地存储库
git clone file://localhost/local/repo/path.git
然后我修改了 crontab 来做
cd /local/repo/path git fetch -q
每 5 分钟同步一次。它运作良好。
一开始,我正在考虑使用
git config --global url.file://localhost/local/repo/path.git.insteadOf https://repository-on-server-a
让 git 从本地目录而不是远程仓库获取所有对象。但是,它不起作用。
我的问题是
- 有没有一种简单的方法可以为远程 git repo 设置这样的本地镜像?
- 如何处理'git push'?由于 insteadOf 将每次推送到本地目录,我如何将所有更改推送回服务器 A?
本地目录用于测试,但不是最终解决方案。稍后我将有另一个桌面 C 来从桌面 B 获取源代码。另一位同事也将加入我的行列。这意味着我们希望在桌面 B 中进行所有更改,以便为我们提供一些“中心”解决方案。