将我的git repo的完整副本推送到我的遥控器

时间:2017-08-22 16:30:38

标签: git version-control bitbucket git-lfs

环境

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

问题

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

问题

如何将完整副本(包含所有分支和标签)推送到遥控器?

我尝试了什么

  • 我还创建了一个我转换后的裸仓库的本地克隆,但是那里 同样的问题。只需使用git clone converted.git repo进行克隆,然后使用git branch -rv
  • 进行验证
  • 就像已经提到的那样:分支及其ID似乎是有效的
  • git push --all没有帮助。在git push --mirror后,它只是告诉我所有内容都是最新的。

Git Version是2.11.1,如果这有所帮助的话!

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

2 个答案:

答案 0 :(得分:1)

转换后的repo导致本地不检出所有远程分支

它似乎只有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>

答案 1 :(得分:0)

在这个过程的最开始,我似乎犯了一个非常愚蠢的错误。 当然,我用git clone --mirror克隆了我的存储库,但我没有想到我克隆的地方,这是一个巨大的错误。而不是直接从bitbucket镜像克隆我镜像克隆了我的本地工作git导致了这种奇怪的行为。在转换Repo之后,所有分支都显示为git branch -rv,甚至在执行git push --mirror时列出但我觉得这是我的错。

感谢大家帮助我:)真的很感激每一个答案!再次感谢你们!对不起!