svn版本控制迁移到git

时间:2022-03-27 06:31:27

获得原 SVN 仓库使用的作者名字列表

因为导入到git需要配置原作者(svn提交人)和git账户的映射关系 其格式为:

vim authors-transform.txt

taoxs = xsTao <xsTao@xxx.com>
lh1 = lh1 <lhl@xxx.com>

利用 git svn 克隆 SVN 仓库

新建一个目录作为 Git 项目的根目标,并进入到该目录中,把前面创建的authors-transform.txt用户映射关系复制到这个目录中,执行下面的命令:

git svn clone ${SVN REP URL } --no-metadata -A authors-transform.txt

如果SVN的体积/文件有点大得话,那么该过程会持续较长时间。耐心等待

执行完成后基本上就OK了,把SVN版本库搬到git上来了,但是这个时候还需要提交到远程仓库

提交GIT版本库到远程仓库

进入刚刚生成的版本库中 用下面的命令查看分支列表 有不需要的可以删除

git show-ref

将refs/remotes 下剩余的引用移动为本地分支

cp -Rf .git/refs/remotes/* .git/refs/heads/
rm -Rf .git/refs/remotes

为本地仓库添加远程仓库地址 就可以commit/push了

git remote add origin ''http://192.168.1.3:8090/osTeam/test.git'

现在就完美从SVN迁移到GIT了 并保留了原SVN的提交版本记录信息。