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 将本地仓库推送到远端仓库,这样就大功告成了

相关推荐
军军3601 小时前
Git大型仓库的局部开发:分步克隆 + 指定目录拉取
前端·git
间彧2 小时前
Git命令速查表
git
用户2519162427114 小时前
Git原理分析
前端·javascript·git
lsp-075 小时前
Git版本控制与协作
git
百思可瑞教育17 小时前
Git 对象存储:理解底层原理,实现高效排错与存储优化
大数据·git·elasticsearch·搜索引擎
Bitup_bitwin19 小时前
Git智能合并机制深度解析
git
TeleostNaCl1 天前
OpenWrt 编译 | 一种使用 git submodule 方式实现一键更新多个外部软件包
网络·经验分享·git·智能路由器
Cosmoshhhyyy2 天前
mac环境下安装git并配置密钥等
git·macos
yuwei0212 天前
git大全解
git
小林的技术分享2 天前
版本控制系统-Git 学习 《progit》电子书学习记录 第一章 (仅隔个人学习记录用)
git