我们的主要仓库存储在svn中,我正在使用git-svn来创建它的本地git克隆。我创建了一个我想要推送的gitlab repo,用作镜像或其他人克隆的起点。
我在svn repo中有900多个分支,如果我git branch -av
,它们都会出现在我的git clone中。然而,当我推送到gitlab repo时,那里没有显示任何分支。有没有办法让我的所有svn分支显示在原点而不显式检出/跟踪我本地svn克隆中的每个分支?在这一点上,我不确定这是否是一个改变推送方式或改变我从svn初始化/克隆的方式的问题。
答案 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的逐步教程进行操作:
答案 1 :(得分:0)
听起来您已经从Subversion正确迁移到本地存储库,因为您可以在本地查看所有分支。从那里,您只需要弄清楚如何将分支推送到远程(gitlab)存储库。 push
的默认行为不会这样做。来自documentation:
当命令行和配置都没有指定内容时 push,使用默认行为,...推送当前分支 到相应的上游分支...
您可以使用--all
标志指定应推送所有分支。