SVN迁移到Git-带提交记录

迁移背景

早期的项目很多公司使用的是svn,但是svn在分支切换和集中式管理不适合目前的版本管理,多数公司都采用git作为新的版本管理功能(分布式、分支切换方便、快速)。
老的svn项目需要迁移到新的git上,又需要保留原来的提交记录。
以下讲解迁移步骤。

1、 svn与git用户映射

    1. 进入svn项目目录
cd svnproject
  • 2.输出 SVN 所有提交过的人的名字
svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'

输出结果

wang1
wang2
  • 3.新建用户关系文本,并输入svn对应git上用户的信息

在当前目录新建文本

touch userinfo.txt

输入对应信息-请根据实际信息录入

SVN账号1=git账号1
SVN账号2=git账号2

2、 用svn信息导出git项目

  • 1.输入以下命令,导出git项目
git svn clone svnurl --no-metadata --authors-file=userinfo.txt

命令解释
# svnurl 为svn项目对应的url地址。 例如: svn://svn.yoursvnaddress.com/XXXX 
XXXX为导出的项目目录名称
# userinfo.txt 用户关系文本名称
  • 2.进入目录,提交代码到git
#进入项目目录
cd  XXXX
#绑定git远程路径  giturl为git项目对应的url地址
git remote add origin giturl
#提交所有代码
git push origin --all

至此完成SVN代码迁移到GIT,并可以查看到历史的提交记录

你可能感兴趣的:(SVN迁移到Git-带提交记录)