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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了