我有一个从 svn 存储库创建的本地 git 存储库:
$ git svn clone -s svn:...
然后我创建了一个备份遥控器并将所有内容推送到其中:
$ git remote add backup git@myhost:mybackup.git
$ git push --mirror backup
现在,当我尝试从备份克隆时,它丢失了所有 svn 标签和分支。
$ git clone git@myhost:mybackup.git
$ cd mybackup
$ git branch -a
* master
origin
remotes/origin/HEAD -> origin/master
remotes/origin/master
如何克隆包含所有标签和分支的存储库?
我发现的唯一方法是镜像存储库:
$ git clone --mirror git@myhost:mybackup.git
这会创建一个本地mybackup.git
目录,它知道所有标签/分支(我可以使用制表符完成来获取整个列表),但它不是一个有效的可用存储库:
$ git checkout mytag
fatal: This operation must be run in a work tree
必须有命令行选项才能真正克隆具有所有分支/标签的存储库???
我在这里找到了几个相关的问题,但没有一个答案适用于这种情况。我认为区别在于我的克隆是用--mirror
?