SVN迁移至GitLab,并附带历史提交记录
2024-01-03 15:36:24
Git在代码管理方面比SVN有更多的优势,如代码审查,分支和合并。
一、准备工作
- 安装Git环境,配置本地git账户信息:
git config --global user.name "XXX"
git config --global user.email "XXX@mail.com"
可通过命令git config -l 查看结果
- SVN的用户名和密码(同步代码时需要输入)
- svn账号与git账号映射,新建文件 userinfo.txt,左侧是SVN的账号,右侧是git账号信息,用=号连接:
svn1=git1<git1@mail.com>
svn2=git2<git2@mail.com>
svn3=gitx<gitx@mail.com>
注意:
- 需要将涉及到的同步记录中的用户都做映射,否则在同步时可能会报错
- 对于无法对应的人员,如离职人员,有SVN账号,但是没有现在的GIT账号,保险起见,可以采用无关紧要的账号进行对应,或者单独建一个账号也可以,例如使用的test账号进行标识的
二、导出SVN项目至本地
- 创建空文件夹用于存放SVN的代码,并将userinfo.txt文件放置在同一层级
│ userinfo.txt
└─ MyProject
- 鼠标右键 选中Git Bash Here 进入git命令行,执行:
git svn clone -r 12345:HEAD svnurl --no-metadata --authors-file=userinfo.txt MyProject
此处的 -r 12345:HEAD 表示从svn的12345版本到最新版本的提交记录,避免拉取所有数据量过大,操作耗时高。svnurl是svn项目地址。如果需要拉取所有记录,可去除 -r 12345:HEAD
- 执行命令后,会弹窗要求输入SVN的账号和密码,然后就会进行同步操作,最终时间长短主要是看需要同步提交记录的多少。
三、与远程git仓库关联起来
- 进入项目文件夹,
cd MyProject
- 关联远程事先创建好的git项目
git remote add origin gitURL
如:git remote add origin http://192.168.1.xx:5678/MyProject.git
- 查看关联情况:
git remote -v
- 如果关联有误,可以删除关联
git remote rm origin
- 推送本地项目到git仓库
- 提交记录之前,先拉取远程git项目文件(如:README.md),否则直接提交会报错
git pull --rebase origin master
- 拉取成功后,执行push命令
git push -u origin master
执行命令后,可能会弹窗要求输入Git的账号和密码
文章来源:https://blog.csdn.net/hhbgk/article/details/135355422
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!