将我的 git 仓库的完整副本推送到我的远程

Push full copy of my git repo to my remote

环境

我使用 git-lfs-migrate 转换了我的 git 存储库,现在我在一个 BARE 存储库中。一切似乎都很好:转换完成且没有错误,标签和分支仍然可用。与我转换之前相比,这些分支具有不同的提交 ID。这个 id 似乎没问题,因为 git show 打印给定 id 的一些信息。

问题

我使用 git push --mirror 将我的仓库推送到一个干净的远程仓库中。日志告诉我它推送了我所有的分支和标签,但是如果我看一下远程仓库 (BitBucket UI),就会有我的标签,但只有我的主分支。

问题

如何将完整副本(包含所有分支和标签)推送到我的远程?

我试过的

Git 版本是 2.11.1 如果有帮助的话!

任何帮助将不胜感激! 提前致谢!

这是由于转换后的仓库没有在本地检查所有远程分支

本地分支好像只有master个分支(可以通过git branch查看本地分支),所以在.git/refs/heads中只能找到master.当您执行 git push --mirror <bitbucket repo URL> 时,只有 master 分支(存在于 .git/refs 中)将被推送到 bitbucket 存储库。

因此您应该在本地检查所有远程分支 (git checkout branchname),然后再次使用 git push --mirror <bitbucket repo URL>

看来我在过程的一开始就犯了一个非常愚蠢的错误。 当然,我使用 git clone --mirror 克隆了我的存储库,但我没有考虑我从哪里克隆,这是一个巨大的错误。我没有直接从 bitbucket 进行镜像克隆,而是镜像克隆了我的本地工作 git,这导致了这种奇怪的行为。仍然很奇怪,在转换 Repo 之后,所有分支都由 git branch -rv 显示,甚至在执行 git push --mirror 时列出,但我想这是我的错。

感谢大家对我的帮助 :) 非常感谢每一个回答!再次感谢你们!对不起!