我是Git的新手,并且在迁移我的SVN时遇到了一些问题。我能够正确转换为在本地计算机上看起来不错的git仓库。然而,当我把它推到bitbucket时,我只看到了主人而没有我的分支(我可以在我当地的git上看到。)
我看到类似的东西。
在我的本地机器上:
$git branch -vva
* master
remotes/branch1
remotes/branch2
Bitbucket只显示这个主人而没有分支。
这些分支基本上可以在某些时候成为标记(大多数只是不再使用的代码的旧版本。)但我希望它们仍然存在于git版本中。
如何轻松地将我在本地拥有的东西推到bitbucket?
答案 0 :(得分:2)
有两种可能的原因导致您没有在Bitbucket上看到分支。
如果是后者,您应该知道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 branch
和git branch -r
命令的输出(适用于公共论坛),并告诉我们您希望Git推向Bitbucket的哪些分支?
编辑:来自@ DanielMoss的评论引用Atlassian SVN import process:
分支和标记不会像您一样导入新的Git存储库 可能会期待。您将无法在git中找到任何SVN分支 分支输出,也不会在git标签中找到任何SVN标签 输出。但是,如果你运行git branch -r,你会找到所有的分支 和SVN存储库中的标签。 git svn clone命令导入 您的SVN分支为远程分支,并将您的SVN标记导入为 远程分支,前缀为tags / 。