gpt4 book ai didi

git - 从 Subversion 迁移到 git,克隆所有分支并通过 gitolite 推送?

转载 作者:太空狗 更新时间:2023-10-29 12:45:02 25 4
gpt4 key购买 nike

我一直致力于将一个 SVN 存储库中的 9 个项目转移到 9 个单独的 git 存储库,由 gitolite 在服务器上管理,然后关闭 SVN。其中七个很简单,因为它们没有分支或标签,所以在我的工作站上我可以做一个简单的:

git svn clone --stdlayout --no-metadata -A svnauthors.txt svn+ssh://user@host/var/subversion/project tempProject

然后通过以下方式从我的工作站推送到 gitolite 服务器:

 git remote add origin ssh://gitolite@host/project
git push -u origin master

而且他们都工作得很好。现在最后两个项目更难,每个都有大约 30 个标签/分支。在其中一个项目上运行“git svn clone”后,我看到:

$ git branch -a
* master
remotes/BatchUpload
remotes/clarify_breadcrumb
remotes/contact_type
remotes/contact_upload_improvements
remotes/file_cabinet
remotes/mobile
remotes/summary_tiles
remotes/summary_updates
remotes/tags/release-2.1.2
remotes/tags/release-3.0.1
remotes/tags/release-3.0.2
remotes/tags/release-3.0.2c
remotes/tags/release-3.1.1
remotes/tags/release-3.1.3
remotes/tags/release-3.1.4
remotes/tags/release-3.1.5
remotes/tags/release-3.1.5.UPDT
remotes/tags/release-3.2
remotes/tags/release-3.2.1
remotes/tags/release-3.2.2.1
remotes/tags/release-3.2.3
remotes/tags/release-3.2.4
remotes/tags/release-3.2.6
remotes/tags/release-3.2.7
remotes/tags/release-3.2.7.1
remotes/trunk
remotes/user_man_batch_upload
remotes/user_management

现在如何将所有这些标签/分支下载到我的本地工作站,以便我可以通过 gitolite 推送它们并永久关闭 SVN 服务器?我需要在 this guide 中做什么,为每个分支和标签做一个“git checkout -b”?我应该为此使用 svn2git 还是其他一些工具?

最佳答案

freenode irc 上#git 的一位乐于助人的人给我写了一个小命令,让我的标签和分支从 SVN 复制到 Git:

推送分支:

printf "git push origin "; git show-ref | grep refs/remotes | grep -v '@' | grep -v remotes/tags | perl -ne 'print "refs/remotes/$1:refs/heads/$1 " if m!refs/remotes/(.*)!'; echo

运行打印出来的命令

推送标签:

printf "git push origin "; git show-ref | grep refs/remotes/tags | grep -v '@' | perl -ne 'print "refs/remotes/tags/$1:refs/tags/$1 " if m!refs/remotes/tags/(.*)!'; echo

运行打印出来的命令

关于git - 从 Subversion 迁移到 git,克隆所有分支并通过 gitolite 推送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com