svn 代码迁入gitlab

使用场景: svn代码迁入到gitlab中, 需要27800到HEAD的版本提交记录,找到svn27800版本对应gitlab提交的commitid,我这边之前是svn最新代码和版本号27892做对比,取出有变动和新增文件,给后面步骤处理,gitlab使用的是commitid

window中安装好git客户端,右键空白处,点选git bash here进入git界面,输入命令

将svn38163之后的所有记录都备份那:git svn clone -r 38163:HEAD svn地址 --no-metadata  trunk(本地电脑目录名)  --username  ***

备份所有提交记录:git svn clone  svn地址 --no-metadata  trunk(本地电脑目录名)  --username  ***

可选参数:

-r 可指定开始版本号。
-s指定clone下来的文件夹名
--trunk表示主开发项目
--branches表示分支项目,
--ignore-refs表示不包含后面的分支项目
--tag表示打标签的项目
--authors-file表示svn用户映射到git的用户文件
如下图有侧可看到代码提交记录日期
 
可在window桌面找到TortoiseSVN,查所有的svn提交日志,找到27892的提交信息和日期。
在window桌面找到TortoiseGit,根据27892提交的信息和日期,可以找到提交到gitlab上的commitid,commitid太长,可以给commitid打tag
git tag -a "v_27892" befa24c92d77776a2c171336cf60*********

git tag 列出标签
git tag -n 列出标签内容

git tag -d 标签名    删除标签 

git push origin v_27892   推送tag到远程的gitlab
git remote -v,如果不为空,则删除原有origin:git remote rm origin
参考文档:https://blog.csdn.net/weixin_34316162/article/details/113896400
git diff HEAD befa24c92d77776a2c171336cf605e0*******  --name-only  script  > a.txt   比较commitid查出有变化的文件名
svn diff --summarize --username *** --password ****  -r 27892 svn://*****/script/trunk/script | sed -rn 's#.*svn:.*script\/trunk\/(.*)#\1#p' > ****.txt
posted @   zyl88  阅读(487)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示