代码版本管理从svn迁移到git
Posted 今夜月色很美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码版本管理从svn迁移到git相关的知识,希望对你有一定的参考价值。
这里我们首先创建一个txt文档来映射所有的提交者, 格式如下:
loginname = Joe User <user@example.com>
项目可能开发了很久的时间,肯定避免不了人员的变动,我们怎么获取所有提交人的记录?因为后续一旦其中有一个记录缺失,会导致迁移失败,这里我们切换到项目地址下,运行如下命令:
svn log --xml | grep "^<author" | sort -u | \\awk -F '<author>' 'print $2' | awk -F '</author>' 'print $1' > userinfo.txt
运行上述命令后, 会生成一个userinfo记录表的前半区域信息,这里我们需要手动补全后半段的信息。
标准的Svn目录迁移方式:
git svn clone https://xxxxx/xxxxxx/ --no-metadata --authors-file=userinfo.txt -s
由于公司的trunk下面还有好几个项目,还有软件安装包和文档等,所以要用下面这条命令来迁移:
git svn clone https://xxx/svn/xxx --no-metadata --no-minimize-url --authors-file=userinfo.txt --no-minimize-url xx
同步提交记录到gitlab的时间非常长,请耐心等待。
有了远程库地址,我们就可以将本地的工程push到远程地址,命令如下:
git remote add origin https://xxx.git
关联了地址后,最后一步就是将代码给push上去:
git push -u origin master
迁移完成。
参考:https://blog.csdn.net/xueshanhaizi/article/details/54929365
以上是关于代码版本管理从svn迁移到git的主要内容,如果未能解决你的问题,请参考以下文章