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 @ 2022-09-19 13:44  zyl88  阅读(508)  评论(0)    收藏  举报