将svn源代码有提交记录地切换到git
1.准备物料
a.待切换的svn源代码地址:http://xxx/.../Branches/svnproject
b.目标git源代码地址(需要事先在git上手动创建好git工程):https://xxx/.../gitproject.git
c.gitbash(windows上使用bash工具,linux可忽略)
2.打开gitbash工具,创建/d/git/myspace/目录
cd /d/git/myspace/
3.获取svn提交作者并做映射
svn log http://xxx/.../Branches/svnproject --quiet | awk '/^r/ {print $3}' | sort | uniq >./authors.txt
记事本打开authors.txt得到如下提交作者信息:
按照如下格式做映射并保存
2118645 = 张三 <wkh@163.com> 2237141 = 李四 <237141@163.com> 2256660 = 王五 <256660@163.com> 2260785 = Lily <260785@163.com> 227701 = 未知 <27701@163.com> SVN_Admin = SVN_Admin <SVN_Admin@163.com>
4.获取svn历史版本信息到本地
git svn clone http://xxx/.../Branches/svnproject -r 2192188:HEAD --no-metadata --authors-file ./authors.txt gitproject
因完整获取svn提交历史信息非常耗时,故红色处标记了从指定svn版本号到最新版本。如果要全量获取,去掉红色文本即可
5.git中可查看到原svn中的历史提交信息
cd gitproject
git log
6.把转换后的本地Git仓库推到公共的Git服务器
git remote add origin https://xxx/.../gitproject.git git push origin master --tags
所有的标签和主干现在都应该整齐干净的躺在新的Git服务器里了。如果要将分支也同步到远程Git服务器,将--tags改为--all。
最后可以在git仓库中查看push上去的源代码地址了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!