svn转为git项目保留commit

一、建立svn到git的用户映射关系

写在文件userinfo.txt中(每个用户都需要写上,否则会报错

二、通过git svn clone克隆一个git版本库

把上面的userinfo.txt 拷贝到 新建好的准备克隆svn代码的git目录下, 
然后执行 git svn clone命令克隆一个git版本库

 git svn clone  svn项目仓库地址(trunk上一级目录) --no-metadata --authors-file=userinfo.txt --trunk=trunk --tags=tags --branches=branches --no-minimize-url -r72:HEAD

  • 参数–no-metadata表示阻止git导出SVN包含的一些无用信息
  • 参数–authors-file表示SVN账号映射到git账号文件,所有svn作者都要做映射
  • 参数–trunk表示主开发项目
  • 参数–branches表示分支项目
  • 参数-r表示版本  例如上述-r72:HEAD表示从之前svn项目的版本72以后的开始同步,包括内容和commit日志,如果要所有的svn记录都同步则改为-r2:HEAD(不过此时会比较耗时,因此建议按需设置)

敲完命令后会提示输入SSH信息,填写svn相关账号信息即可:

填写用户名:

填写密码:

确认后即可开始clone: 

 克隆完成后进入到克隆好的项目通过gitlog或者TortoiseGit即可查看所有同步过来的commit情况:

这样即完成了将svn管控项目转为git管控项目,如需推送到远程端即和普通本地git项目推送一样方式即可。

参考文章:https://blog.csdn.net/ouyang_peng/article/details/80372805

https://blog.csdn.net/cctt_1/article/details/41317419

猜你喜欢

转载自blog.csdn.net/shmely/article/details/82848964