SVN迁移Git(保留历史提交记录)

第一步:安装git

下载地址:https://gitforwindows.org/

第二步:先创建一个git创库,(创建过程忽略)
第三步:本地新建一个空的项目文件夹,用于存放要迁移的项目代码,我这创建了一个MobileBuilder
第四步:拷贝svn代码

在该文件夹父级目录下,单击鼠标右键,使用Git Bash Here,输入命令:git svn clone svnUrl projectName 其中里面的,svnUrl就是你要迁移的项目的SVN地址,projectName 表示项目名称(就是2步创建的文件夹名),我这边就是MobileBuilder;

例如:git svn clone 'https://IP:端口/svn/MCloudWork/2 开发库/2.4 源代码/MobileBuilder-3.0' MobileBuilder

1)、执行该命令后,系统或自动拉去svn代码到本地,等待执行完成。(此过程比较久,需耐心等待)
2)、出现下图这样代表拉去完成
3)、出现如下现象,可能原因是因为程序包太大,下载的时间过长,导致下载失效

增加超时阈值:将超时时间设为300000秒
export SVN_SSH="ssh -o ConnectTimeout=300000"

第五步:本地仓库和远程仓库建立连接
  • 下载完成后,进入项目目录(.git所在目录),鼠标右键,使用Git Bash Here,输入命令:git remote add origin gitUrl ,其中gitUrl是你要迁移的目标Git项目地址(下载完成后,你可以通过gitk或者git log 命令查看svn同步的提交日志)

第六步:设置本地分支main(与服务器一致)

查看本地默认分支:git branch

设置本地默认分支:git branch -m main

设置本地main分支跟踪远程仓库的origin/main分支:git branch -u origin/main main

第七步:远程仓库 origin 拉取 main 分支的最新更改并合并到当前分支

执行:

git pull origin main --allow-unrelated-histories

第八步:将本地的代码推送到远程仓库

然后执行命令git push origin master 将本地仓库推送到远端仓库,这样就大功告成了

相关推荐
wang60212521811 分钟前
Git部署项目配置密钥-Linux系统
linux·运维·git
Knight_AL1 小时前
Git 版本回退/撤销/重置:CheckOut VS Revert VS Reset
git
jayaccc11 小时前
Git命令大全:从入门到精通
大数据·git·elasticsearch
论迹13 小时前
【Git】-- Git安装 & 卸载(ubuntu)
git·ubuntu·elasticsearch
论迹14 小时前
【Git】-- Git基本操作
git·ubuntu
相偎15 小时前
Ubuntu搭建svn服务器
服务器·ubuntu·svn
wxr061618 小时前
GIT学习
git·学习
猫头虎20 小时前
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)
git·开源·gitlab·github·开源软件·开源协议·gitcode
爱学英语的程序员21 小时前
让AI 帮我做了个个人博客(附提示词!)
人工智能·git·vue·github·node·个人博客
虫小宝1 天前
个微iPad协议场景下Java后端的协议解析异常排查与问题定位技巧
java·svn·ipad