环境
我使用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
git push --all
没有帮助。在git push --mirror
后,它只是告诉我所有内容都是最新的。Git Version是2.11.1,如果这有所帮助的话!
任何帮助将不胜感激! 提前谢谢!
答案 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
时列出但我觉得这是我的错。
感谢大家帮助我:)真的很感激每一个答案!再次感谢你们!对不起!