共计 739 个字符,预计需要花费 2 分钟才能阅读完成。
一、安装工具
在 Centos
系统中安装 git-svn
工具
yum install git-svn -y
在 Windows
系统上操作则安装 git-base
二、生成 svn 转 git 的账号对应关系
文件中的格式为:svn 用户名 = git 用户名
例如:
root=root
zhangsan=zhangsan
对应关系主要用于将 SVN 迁移至 Git 仓库之后,日志中的提交者可以在 Git 仓库中正常显示,开发者能够看到代码的提交用户。
以上文件生成也可以使用命令生成
svn log 要迁移的 SVN 仓库地址 -q | awk -F '|' '/^r/ {sub("^ ","", $2); sub("$", "", $2); print $2" = "$2" "}' | sort -u > users.txt
执行后只需要对生成的users.txt
文件格式做调整即可。
三、导出记录
git svn clone 要迁移的 SVN 仓库地址 --trunk= 主分支名称 --tags=tags --branches=branches --authors-file=./users.txt --no-metadata
上面的命令中:
--trunk
是指定 svn 仓库中的主分支,如果不指定,将会在导出的时候报类似错update-ref HEAD refs/remotes/origin/trunk: command returned error: 128
的错误--tags
、--branches
指需要迁移的标签和分支,如果不需要迁移,则不指定
下面的操作需要进入导出的项目目录操作
四、清理工作
此步骤针对需要有迁移的 标签
和 分支
五、添加 Git 远地址
git remote add origin 目的 Git 仓库地址
六、推送
git push origin --all
到此,迁移工作已完成
标签:git
svn
文章来源: 从 SVN 仓库迁移至 Git 仓库
正文完