如何将使用--bare克隆的git存储库更改为与使用--mirror克隆的git存储库匹配?
此问题与或不同 由于使用如何将使用--bare克隆的git存储库更改为与使用--mirror克隆的git存储库匹配?,git,version-control,git-push,Git,Version Control,Git Push,此问题与或不同 由于使用--mirror克隆的存储库是裸存储库,我是否可以将使用--bare克隆的存储库与使用--mirror克隆的存储库相同?可以通过简单地修改配置文件来完成吗 如果没有,是否有其他方法可以将裸存储库转换为镜像存储库 另一个问题,为什么我不能使用git push--镜像中的所有repo,而这个命令可以在裸repo中运行?如果您已经用克隆了repo,那么,后面的将把所有本地分支推送到远程repo 但是,如果您的远程repo已作为远程引用添加到本地repo(即您的本地repo已从另
--mirror
克隆的存储库是裸存储库,我是否可以将使用--bare
克隆的存储库与使用--mirror
克隆的存储库相同?可以通过简单地修改配置文件来完成吗
如果没有,是否有其他方法可以将裸存储库转换为镜像存储库
另一个问题,为什么我不能使用git push--镜像中的所有repo,而这个命令可以在裸repo中运行?如果您已经用克隆了repo,那么,后面的将把所有本地分支推送到远程repo 但是,如果您的远程repo已作为远程引用添加到本地repo(即您的本地repo已从另一个远程repo克隆),那么一个
git push--all secondRemoteRepo
将找不到许多匹配的分支来推送,除非您先获取这些分支。因此,这应该是可行的:
git fetch secondRemoteRepo
git push --all secondRemoteRepo
要将使用
git clone--bare
克隆的存储库更改为与使用git clone--mirror
克隆的存储库相匹配的存储库,请执行以下操作:
$ git config remote.origin.fetch "+refs/*:refs/*"
$ git config remote.origin.mirror true
然后执行git fetch,所有内容都应该是最新的。现在:
git remote add --mirror=fetch origin <url>
您可以在任何编辑器中编辑配置文件。只需按照镜像repo(+refs/*:refs/*)中的方式创建分支引用,移除远程跟踪分支(从打包的refs和refs/remote/*/*),添加
mirror=true
,然后重新运行git fetch
@fork0这个琐碎的操作似乎不起作用……到底什么不起作用?错误消息?(顺便说一句,我没有在哪个部分提到要添加的mirror=true
。它是[core]
)。
git fetch