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

相关推荐
穷人小水滴5 小时前
git 开源平台网站推荐 (2025-06 更新)
git·开源·平台
showmethetime5 小时前
TortoiseSVN迁移到本地git
git
大卫小东(Sheldon)12 小时前
git-intelligence-message 1.3.2 发布了,智能生成、提交git的工具
git·rust
梦之翼61872013 小时前
idea中配置svn及提交提示“未检测到更改”提示
java·svn·intellij-idea
颜笑晏晏1 天前
Git 零基础到同步 GitHub 和 Gitee 全流程指南
git·gitee·github
BraveOxCow1 天前
git的使用
git
进阶的DW2 天前
Git基本使用
git
书琴2 天前
关于git的stash参数
git
@大迁世界2 天前
如何将一个 Git 项目关联到两个远程仓库(且不出错)
git