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

相关推荐
aXin_ya12 小时前
SVN使用
svn
wdfk_prog13 小时前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github
大明二代16 小时前
使用 Traefik、cert-manager 和 DNS-01 为内网 Kubernetes 服务配置 HTTPS
git·kubernetes·flux
小芒果_0117 小时前
git常用命令速查
大数据·git·elasticsearch
2501_9304724418 小时前
腾讯云助手规范化Git提交记录
git·elasticsearch·腾讯云
风尘小子1 天前
git的.gitignore文件中文件和目录配置
git
Tanner_SL1 天前
Linux笔记之GIT常用命令
linux·git
醉颜凉2 天前
Jenkins与Git集成完全指南:从基础配置到自动触发构建
运维·git·jenkins
樱花落木兰2 天前
Git 超全零基础教程|三区原理、全套命令、分支协作、冲突解决、IDEA 集成(面试必备)
ide·git·json·github
云和数据.ChenGuang2 天前
git revert回退问题
java·服务器·人工智能·git·fastapi·强化学习