git svn 实战

从SVN完美迁移到Git,我只用了5分钟 从SVN完美迁移到Git,我只用了5分钟SVN (Subversion) 是一个曾经热门的集中式版本控制工具,然而 Git 作为分布式版本控制工具,近年来特别受欢迎,很多公司、开发人员开始使用 Git 来替代 SVN。 阅读详情
1, 用git从svn里clone最后几个版本
一般情况下git svn clone这个操作会从第一个版本开始同步,如果版本号已经到了好几万(或更高?),这个操作会相当的费时。
当时还想着能不能hack一下git-svn脚本,其实后来看看文档,clone操作可以使用参数-r$REVNUMBER:HEAD检出指定版本后的代码,因此,更好的步骤应该是这样:
a ,  减产svn 版本号
svn info http://your-svn, 并记录最后的版本号,假设是260
假设要检出最后10个版本,做个简单的减法: 260 – 10 = 250
b,开始clone操作了
git svn clone -r250:HEAD --prefix=svn/ http://your-svn
按这个办法,clone的时间的确是减少了许多。

2,   git svn实战
我之前写了几个wordpress插件,比如inline-javascript, code-prettify。这些插件都托管在wordpress.org提供的svn服务器上,但是我实在太喜欢在git下活动了,因此动了点心思,想把插件代码传到github上,开发完之后利用git-svn传到wordpress的svn服务上。照着这个思路,捋起袖子就开干了。

2.1, 用git-svn抓取插件代码
wordpress的插件svn库大且缓慢,如果直接用git-svn去clone代码,一定会慢死,按照"http://hi.baidu.com/bamboolsu/blog/item/a52666acb54989114a36d6f7.html",用git从大型svn快速clone代码。

以code-prettify插件为例,首先需要读取这个插件创建时的版本号
svn log http://svn.wp-plugins.org/code-prettify|tail -4|head -1
得到了如下信息,获得一个版本号 318479
r318479 | plugin-master | 2010-12-03 20:12:29 +0800 (五, 03 12 2010) | 1 line


开始clone代码
git svn clone -s --prefix=svn/ -r318479:HEAD http://svn.wp-plugins.org/code-prettify


2.2, 设置git仓库
首先把代码传了一份到github: https://github.com/volca/code-prettify

然后操作本地git仓库

git branch -m svn
git remote add origin git@github.com:volca/code-prettify.git
git checkout master
本地svn分支对应svn的远程仓库,本地master分支对应github的远程仓库

2.3, Happy time
现在可以按照平常的习惯在git下更改代码,然后用git push到github上。

如果需要更新代码到svn上,按这个流程操作就可以了:
git checkout svn
git merge master
git svn dcommit

如果需要发布wordpress插件的新版本,这个在svn里就是一个打tag的过程,用git-svn操作非常简单,下面的例子表示发布code-prettify插件的0.3版本:
git svn clone 失败报错解决方法 将公司svn代码迁移至gitlab,git svn clone命令失败,报错信息如下:Can't load '/usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.dll' for module SVN::_Core: No such file or directory at…… 阅读详情

相关推荐

SVN到Git迁移实战:原理、工具与完整教程

版本控制系统是软件开发中管理代码变更的核心工具,其原理从集中式向分布式演进,旨在提升协作效率和代码管理能力。分布式版本控制系统通过本地完整仓库和灵活的分支机制,为现代敏捷开发和DevOps实践提供了关键技术支撑,其技术价值体现在支持离线工作、高效分支合并以及无缝集成CI/CD工具链。在实际应用场景中,许多团队面临将历史项目从集中式的SVN迁移到分布式的Git的需求,以融入现代开发工作流。本文聚焦于这一需求,深入解析了使用git svn工具进行自动化迁移的核心原理,并提供了从环境准备、作者映射到历史转换的完整

weixin_30908103的博客 369

git-svn — 让git和svn协同工作

 svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着被误删除和版本更新无法回退两大情形。 git作为一个分布式版本管理工具,可以很好的解决这个问题。因为它的大多数操作是在本地进行的。这里要说的是git是如何做到既可以管理好本

easonchenys的专栏 3008

Git 操作 SVN 实战:git-svn 桥接工具使用指南

版本控制是软件开发的基础设施,Git 与 SVN 作为两种主流方案各有适用场景。Git 采用分布式架构,支持本地分支、提交与回滚,工作流灵活高效;SVN 则是集中式管理,依赖中央仓库,分支操作相对笨重。当团队因历史或流程原因必须使用 SVN,而开发者希望保留 Git 的本地开发体验时,git-svn 提供了一种双向桥接机制:它从 SVN 拉取提交历史并翻译为 Git 对象,也能将本地 Git 提交逐个推送回 SVN 仓库。这一工具在代码审查、历史追溯、实验性分支开发等场景中价值显著,尤其适合需要频繁查看版本

weixin_28826545的博客 188

Git svn clone的方式使用SVN

习惯用Git后的程序员一定对SVN不屑一顾。不过目前的开发环境必须使用SVN,用起来不开心。还好Git提供了对SVN的支持,让我们可以像使用Git一样使用SVN。当然一些Git的高级功能还是无法支持的。有兴趣详细了解的同学可以参考git-svn文档。简单来说只需要几步就可以使用了。检出SVN库git svn clone http://PATHTOSVN有了这一步就可以在命令行像操作Git一样操作SV

dongwuming的专栏 1万+

从SVN到Git:完整迁移历史提交记录的实战指南

本文详细介绍了如何将代码版本管理从SVN迁移到Git,包括迁移前的准备工作、完整迁移操作步骤、迁移后验证及常见问题解决方案。通过实战指南,帮助开发者保留历史提交记录,顺利过渡到Git的分布式版本控制系统,提升团队协作效率。

weixin_30788619的博客 392

从SVN到Git的平滑过渡:在Ubuntu上搭建双版本控制系统实战指南

本文详细介绍了在Ubuntu系统上实现SVN到Git平滑过渡的实战指南,包括双版本控制系统的安装配置、git-svn工具的使用技巧以及团队协作的最佳实践。通过分阶段迁移计划和性能优化建议,帮助开发者高效完成版本控制系统升级,特别适合需要同时维护两种系统的开发团队。

weixin_30940783的博客 555

git/git-svn使用总结(持续更新)

工作中使用到的git、git-svn 命令总结

cpsxn的博客 7874

忆阻器(二)——忆阻模拟器

除了真实的器件,我们也可以用运放和乘法器来搭忆阻模拟器。这节将介绍数学模型、matlab仿真及multisim仿真。 一、数学模型 忆阻分为磁控和荷控两种,这里介绍三次非线性磁控忆阻模型: {I=W(φ)VW(φ)=a+3bφ2dφdt=V \begin{cases} I=W(\varphi)V \\ W(\varphi)=a+3b \varphi ^2\\ \frac{d \varphi }{dt}=V \end{cases} ⎩⎪⎨⎪⎧​I=W(φ)VW(φ)=a+3bφ2dtdφ​=V​ 这里的WWW

http://www.icfgblog.com/ 1万+

SVN到Git的无缝迁移:svn2git工具全流程实战指南

在当今敏捷开发的浪潮中,版本控制系统的选择直接影响团队协作效率与项目迭代速度。许多企业仍在使用Subversion(SVN)——这个曾经革命性的集中式版本控制系统,但面对分布式开发、分支管理和代码审查的现代需求,迁移到Git已成为技术升级的必然选择。然而,版本控制系统迁移绝非简单的数据转移,它涉及历史记录的完整性、分支结构的转换以及团队协作习惯的调整。如何在确保数据安全的前提下,实现从SVN到Gi

gitblog_00597的博客 266

TCP Reno/CUBIC 拥塞控制算法对比:从 Tahoe 到 BBR 的 4 种核心策略演进

本文深入解析了TCP拥塞控制算法的演进历程,从经典的Tahoe、Reno到现代的CUBIC和BBR,详细对比了4种核心策略的实现机制与性能差异。通过分析拥塞窗口、流量控制等关键技术,揭示了不同算法在高带宽延迟网络中的优化方向,为网络协议栈优化提供理论依据和实践指导。

weixin_33725239的博客 439

ROS专栏—基于STM32F103的INA219电源数据采集

文章主要记录了stm32f103对ina219的数据采集

热爱生活、奋斗前行 2353

从SVN到Git的平滑过渡:在Ubuntu上同时管理新旧版本库的实战指南

本文详细介绍了在Ubuntu系统上使用`git-svn`工具链实现从SVN到Git的平滑过渡的实战指南。通过环境配置、仓库迁移、日常开发工作流和高级技巧,帮助开发团队在保留SVN仓库的同时逐步适应Git,提升版本控制效率。

weixin_30443747的博客 627

汽车以太网- IEEE 802.3标准

关于汽车以太网,大家看到最多的标准大概就是IEEE802.3bw,也就是我们车内使用的百兆以太网,专业称呼是100BASE-T1,该标准是车内百兆以太网的物理层协议,是我们学习汽车以太网必须要了解的协议。在正式了解协议之前,我们先介绍下什么是IEEE802.3标准。............

weixin_39974126的博客 7106

版本控制迁移自动化工具:svn2git全流程实战指南

### 1.1 迁移过程中的关键痛点 版本控制系统迁移是开发团队技术栈升级的重要环节,但从SVN(Subversion,集中式版本控制系统)迁移到Git(分布式版本控制系统)时,团队常常面临以下挑战: - **分支结构转换难题**:SVN的分支模型与Git的分布式分支模型存在本质差异,直接迁移可能导致分支关系混乱 - **历史记录完整性问题**:提交历史是项目知识的重要载体,迁移过程中容易出现提

gitblog_00230的博客 302

关于无障碍适配的笔记

针对无障碍兼容性的笔记,针对wcg2.0/2.1

CoffeeAndIce的博客 4212

电赛控制组入门到实战:从电路板到PID算法的完整路径

本文详细介绍了电赛控制组从电路板制作到PID算法实战的完整学习路径。涵盖嘉立创电路设计、Keil5开发环境搭建、STM32F103C8T6核心板外设应用,重点解析PID算法在电机速度环与位置环中的调试技巧,并探讨OpenMV视觉模块与主控制器的协同工作,为电赛参赛者提供系统化的实战指南。

oauth7security的博客 745

git项目比对_Git实战之Git对比SVN

相信很多测试和开发的小伙伴都用过svn,那么svn作为入门级的版本管理工具应用的企业也是比较多的。那么我们先来介绍一下关于svn的一些特点吧,在给大家回顾一下。说的简单点就是svn需要一台svn服务器,建立N个子账号。不同用户可以通过账号登录客户端向svn服务器提交资料代码等等。而且日常使用最多的功能就是提交、更新、下载、提交、版本回退。其实,SVN的功能有很多,但是在实际工作中使用最频繁的翻来覆...

weixin_36111677的博客 296

第2.0章 机器人C++学习开篇(一):SLAM为什么使用C++语言及学习路线资料推荐

ROS(机器人操作系统):机器人领域的“操作系统”,提供节点通信、参数管理、工具链支持,是SLAM算法在机器人上部署的核心框架。PCL(点云库):处理三维点云数据的利器,包含滤波、分割、配准等算法,是激光SLAM的核心依赖。Eigen(矩阵运算库):高效的矩阵与线性代数运算库,SLAM中的位姿变换、优化求解都依赖它。Ceres/G2O(优化库):SLAM后端优化的“王牌”,Ceres擅长通用非线性优化,G2O则专为图优化设计,二者是BA( bundle adjustment)等算法的实现基础。

行知SLAM 1241

Git和SVN迁移实战:完整版本控制转换指南(1/4)

本文从SVN用户的视角出发,通过对比学习的方式,帮助大家更好地理解和掌握Git。文章将通过实际经验分享,帮助SVN用户快速适应Git的工作方式,理解两者的区别与联系,实现平滑过渡。适合有SVN使用经验,想要学习Git的开发者阅读。

weixin_42906359的博客 686

SAP ABAP CO核心扩展-ZCKMLQS 多物料工厂的评估数量结构报表(CKMLQS)

CKMLQS 只能查看单一物料工厂的评估数量结构,SAP 没有提供多物料工厂的评估数量结构报表。这篇文章将实现 CO核心扩展-ZCKMLQS 多物料工厂的评估数量结构报表。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 1089

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Git 与 SVN 桥接实战:git-svn 工作流与命令对照指南

版本控制是软件开发的基础设施,Git 与 SVN 的差异常导致团队协作效率瓶颈。git-svn 作为双向桥接工具,通过 revision 映射机制将 SVN 的线性历史转换为 Git 提交,同时保留 SVN 服务端协议,实现本地 Git 操作与远端 SVN 提交的兼容。其技术价值在于让开发者在 SVN 约束下获得 Git 的分支、暂存区与本地提交体验,适用于历史包袱重、迁移成本高的项目。在代码库庞大、权限管理复杂的场景中,git-svn 能显著提升日常开发效率,但需注意克隆性能与分支追踪的坑。

weixin_31822733的博客 241

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Git 操作 SVN 仓库实战:git-svn 桥接工具原理、命令与避坑指南

版本控制是软件开发的基础设施,而 Git 与 SVN 的共存是许多团队面临的现实问题。git-svn 作为桥接工具,通过在本地 Git 仓库与远端 SVN 仓库之间建立双向提交映射,让开发者能够用 Git 的分支、暂存区等本地工作流操作 SVN 仓库。其核心原理是逐个 revision 转换并附加 git-svn-id 标记,从而在保留 SVN 提交格式的同时享受 Git 的本地灵活性。这一机制在跨团队协作、历史遗留系统维护等场景中具有重要价值,尤其适合需要同时维护 Git 和 SVN 仓库的开发者。本文围

weixin_28828243的博客 160

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

svn2git实战技巧:处理非标准SVN仓库布局的5种方法

svn2git是一款强大的Ruby工具,旨在帮助开发者将现有的SVN项目迁移到Git仓库中。对于遵循标准布局的SVN仓库,迁移过程通常一帆风顺,但在实际开发中,我们经常会遇到各种非标准的SVN仓库结构。本文将分享5种实用方法,帮助你轻松应对这些复杂情况,实现高效迁移。 ## 1. 根目录即主干:使用--rootistrunk参数 许多小型项目或个人项目往往没有采用标准的trunk/branch

gitblog_00227的博客 1323

Git与SVN混用作为版本控制

Git与SVN混用作为版本控制 使用场景 公司的项目使用的是SVN服务器作为版本控制而且由于权限管理原因和部分员工不愿意使用Git所以没有做迁移。所以SVN将一直作为公司的主要版本控制工具来使用。本人由于一直使用Git基本没有接触过SVN,对SVN不够了解。对于Git操作比较熟悉,也可以方便在本地建立临时分支来使用。所以决定以SVN作为本地代码和单位代码仓库的管理工具,以Git作为本地开发的版本管理工具来使用。 使用方式 网上有很多git和svn混用的方式,我这里也是参考了一些网上的文章博客等。简要介绍一下

Mirt_的博客 1120

从SVN迁移到Git:完整技术方案与实战指南

版本控制系统(VCS)是软件开发的基石,用于管理代码变更历史与团队协作。其核心原理在于记录文件变更、支持并行开发与版本回溯。从集中式的SVN到分布式的Git,技术演进带来了更高效的本地操作、强大的分支模型和更完善的生态系统,这对于提升团队协作效率和适应现代CI/CD流程具有重要价值。在企业级开发中,完整的历史数据迁移是版本控制系统升级的关键挑战,涉及提交记录、分支结构和权限映射的平滑过渡。本文基于SVN与Git的架构差异,通过git-svn等工具,详细解析了从环境准备、作者映射、历史克隆到清理推送的完整迁移

weixin_34275734的博客 323

从SVN到Git的自动化迁移:原理、实战与最佳实践

版本控制系统是现代软件开发的基石,它通过记录代码的每一次变更,实现了团队协作与历史追溯。从集中式的SVN到分布式的Git,技术演进带来了更强大的分支管理和离线操作能力,但也带来了历史数据迁移的挑战。自动化迁移技术的核心价值在于解决手动操作的高成本、易出错问题,确保提交历史、分支标签和作者信息的完整保留。这项技术广泛应用于企业技术栈升级、多版本控制系统整合及遗留项目现代化改造等场景。本文基于思特奇的数据迁移系统专利思想,深入剖析了git-svn工具链的工作原理,并提供了从环境准备到脚本实现的完整实战指南,帮助

weixin_34056162的博客 337
上一篇: ubuntu 使用积累 very good!!
下一篇: git 实用积累
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值