乐心博客

逆流而上,遇强则强

svn代码迁移到git中

迁移完整的svn结构(包括之前的提交日志)到git项目内

参考命令

##clone svn -> git  地址支持协议 : svn://, http://, https://. 注意这个 URL 应该指向项目的 base repository,例如 ##http://svn.mycompany.com/myrepo/repository. 不要指到了 /trunk, /tag 或 /branches 里。
git svn clone svn://10.68.245.11/tclshop --no-metadata -r1000:HEAD --authors-file=svnuser.text --trunk=svnproject --branches=svnbranch yourGitProject 

这里的svnuser.text内容是:
[svn的名字] = [git上的名字] <[git上的email]>
例如:
aa=bb<yy@oo.com>
tt=ee<mm@oo.com>

  • r指定起止版本号。
  • no-metadata阻止git导出SVN包含的一些无用信息。
  • authors-file必须指定svn帐号在git中的映射。
  • trunk指定导出仓库的主干项目路径。
  • branches指定svn的分支项目路径。
  • 如果是常规设置 可以不用特殊指定trunk和branches分支名 直接用--stdlayout 非常规 需要指定 --trunk和--branches
  • -r1000:HEAD 只拉取从版本号1000开始到现在的提交记录,之前的提交则抛弃
##在git中查看svn commit记录信息
git log --pretty=oneline
##本地初始化git仓库完成
git remote add origin git@10.68.25.20:move/dufy-tclshop-test-two.git 
#推送到远端的git的仓库中
git push origin master

参考文档

添加新评论