这个问题与git 不同 - 如何从其他仓库镜像文件或如何更新我的裸仓库?
由于克隆的存储库--mirror
是一个裸存储库,我可以使克隆的存储库与克隆的存储库--bare
一样--mirror
吗?可以通过简单地修改配置文件来完成吗?
如果没有,是否有其他方法可以将裸存储库转换为镜像存储库?
另一个问题,为什么我不能在镜像仓库中使用 git push --all,而这个命令可以在裸仓库中运行?
这个问题与git 不同 - 如何从其他仓库镜像文件或如何更新我的裸仓库?
由于克隆的存储库--mirror
是一个裸存储库,我可以使克隆的存储库与克隆的存储库--bare
一样--mirror
吗?可以通过简单地修改配置文件来完成吗?
如果没有,是否有其他方法可以将裸存储库转换为镜像存储库?
另一个问题,为什么我不能在镜像仓库中使用 git push --all,而这个命令可以在裸仓库中运行?
要将克隆的存储库更改为git clone --bare
与 a 匹配的存储库git clone --mirror
,请执行以下操作:
$ git config remote.origin.fetch "+refs/*:refs/*"
$ git config remote.origin.mirror true
然后做一个git fetch
,一切都应该是最新的。
如果您已使用 克隆您的存储库git clone --mirror
,则 a 将git push --all
遵循默认的matching
推送策略,将所有本地分支推送到远程存储库。
但是,如果您的远程存储库已作为远程引用添加到本地存储库(即您的本地存储库已从另一个远程存储库克隆),那么git push --all secondRemoteRepo
除非您先获取这些分支,否则不会找到许多匹配的分支来推送。
所以这应该工作:
git fetch secondRemoteRepo
git push --all secondRemoteRepo
如今:
git remote add --mirror=fetch origin <url>
然后
git fetch