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

相关推荐
kevin_cat4 小时前
微信群机器人-备份文件发送通知
git·bash·企业微信
程序媛Dev8 小时前
50.4k Star!我用这个神器,在五分钟内搭建了一个私有 Git 服务器!
运维·服务器·git
澈轩11 小时前
Git 用得好,下班走得早
git
人间造梦工厂12 小时前
Git Bash 别名
git
画个太阳作晴天17 小时前
解决 Android Studio 中 build 目录已被 Git 跟踪后的忽略问题
git
wjs04021 小时前
Git常用的命令
java·git·gitlab
原野风霜32421 小时前
Git使用总结
git
青草地溪水旁1 天前
Git Bash 中 Git 命令的实用主义指南
git·bash
至善迎风1 天前
版本管理系统与平台(权威资料核对、深入解析、行业选型与国产平台补充)
git·gitee·gitlab·github·svm
高旭的旭1 天前
Gitlab 配置自定义 clone 地址
svn·ssh·gitlab·code