SVN到Git转换 - 分支没有推到Bitbucket

时间:2016-10-13 14:04:58

标签: git svn bitbucket

我是Git的新手,并且在迁移我的SVN时遇到了一些问题。我能够正确转换为在本地计算机上看起来不错的git仓库。然而,当我把它推到bitbucket时,我只看到了主人而没有我的分支(我可以在我当地的git上看到。)

我看到类似的东西。

在我的本地机器上:

$git branch -vva 
* master                                                               
  remotes/branch1
  remotes/branch2

Bitbucket只显示这个主人而没有分支。

这些分支基本上可以在某些时候成为标记(大多数只是不再使用的代码的旧版本。)但我希望它们仍然存在于git版本中。

如何轻松地将我在本地拥有的东西推到bitbucket?

1 个答案:

答案 0 :(得分:2)

有两种可能的原因导致您没有在Bitbucket上看到分支。

  1. 您的问题与Firedrill: Recreate central git repository from developers clones重复,@ThorbjørnRavnAndersen points out
  2. 您尝试推送的存储库中有远程跟踪分支
  3. 如果是后者,您应该知道Git只会将您的本地分支推送到远程而不是远程跟踪分支

    本地分支是运行时打印git的

    git branch      # show only local branches
    

    你的远程跟踪分支是运行时打印git的

    git branch -r   # show only remote tracking branches
    

    但您正在运行的是向您显示本地远程跟踪分支

    git branch -a   # show both local and remote tracking branches
    

    要使远程跟踪分支成为本地分支,您可以运行

    git branch <local-branch-name> <remote-branch-name>
    

    或者在您的具体示例中

    git branch branch1 remotes/branch1
    

    但是,我觉得你的存储库比你提到的更多,因为remotes/branch1实际上并不是分支名称的正确约定......我说的原因是{ {1}}关键字是特殊的,并在remotes中使用,refs/remotes/是所有远程跟踪分支的官方前缀。

    您能否向我们提供git branchgit branch -r命令的输出(适用于公共论坛),并告诉我们您希望Git推向Bitbucket的哪些分支?

    编辑:来自@ DanielMoss的评论引用Atlassian SVN import process

      

    分支和标记不会像您一样导入新的Git存储库   可能会期待。您将无法在git中找到任何SVN分支   分支输出,也不会在git标签中找到任何SVN标签   输出。但是,如果你运行git branch -r,你会找到所有的分支   和SVN存储库中的标签。 git svn clone命令导入   您的SVN分支为远程分支,并将您的SVN标记导入为   远程分支,前缀为tags /