SVN迁移到Git-带提交记录

2020-02-26  本文已影响0人  sunsky2017

迁移背景

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

1、 svn与git用户映射

cd svnproject
svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'

输出结果

<author>wang1</author>
<author>wang2</author>

在当前目录新建文本

touch userinfo.txt

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

SVN账号1=git账号1<email1@qq.com>
SVN账号2=git账号2<email1@qq.com>

2、 用svn信息导出git项目

git svn clone svnurl --no-metadata --authors-file=userinfo.txt

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

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

上一篇 下一篇

猜你喜欢

热点阅读