如何确保svn分支被推送到gitlab原点

时间:2014-05-01 16:51:17

标签: git git-svn gitlab

我们的主要仓库存储在svn中,我正在使用git-svn来创建它的本地git克隆。我创建了一个我想要推送的gitlab repo,用作镜像或其他人克隆的起点。

我在svn repo中有900多个分支,如果我git branch -av,它们都会出现在我的git clone中。然而,当我推送到gitlab repo时,那里没有显示任何分支。有没有办法让我的所有svn分支显示在原点而不显式检出/跟踪我本地svn克隆中的每个分支?在这一点上,我不确定这是否是一个改变推送方式或改变我从svn初始化/克隆的方式的问题。

2 个答案:

答案 0 :(得分:0)

使用atlassian提供的脚本:

https://www.atlassian.com/git/tutorials/migrating-convert

在将本地git推送到gitlab origin之前将远程SVN分支转换为本地git分支:

  

java -Dfile.encoding = utf-8 -jar~ / svn-migration-scripts.jar clean-git   --force

我建议按照svn到git migration的逐步教程进行操作:

https://www.atlassian.com/git/tutorials/migrating-overview

答案 1 :(得分:0)

听起来您已经从Subversion正确迁移到本地存储库,因为您可以在本地查看所有分支。从那里,您只需要弄清楚如何将分支推送到远程(gitlab)存储库。 push的默认行为不会这样做。来自documentation

  

当命令行和配置都没有指定内容时   push,使用默认行为,...推送当前分支   到相应的上游分支...

您可以使用--all标志指定应推送所有分支。