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
浙公网安备 33010602011771号