简单介绍利用官方git svn插件迁移svn仓库

简介

git svn是一个把代码从svn仓库迁移到git仓库的工具,官方的使用文档参考Git - 迁移到Git,本文中对几个具体的步骤进行提炼。

svn迁移到git步骤

1.构建user.txt

user.txt是一个把svn用户和git用户关联起来的文档,如果svn用户少的话,可以直接手填,例如:svn_user = git_user <git_user@git.com>。官方推荐获取svn用户名文档命令为svn log ^/ --xml | grep -P "^<author" | sort -u | perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt。执行完命令后会在本地生成user.txt,svn列的用户名已经自动生成,git的用户名还是需要手动填写。

2.用git svn导入svn库

导入svn库命令为git svn clone http://my-project.googlecode.com/svn/ --authors-file=users.txt --no-metadata -s git_project_dir,如果提示命令不存在,则需要执行yum install git-svn安装一下对应的插件。命令执行完之后,会把svn的主干和分支的代码和提交记录都检出到本地。

如果svn库不是标准的trunk/branches/tag目录结构,则需要手动指定对应的trunk/branches/tag,命令例如git svn clone http://my-project.googlecode.com/svn/ --authors-file=users.txt --no-metadata --branches /your_branches --trunk /your_trunk --tag /your_tag git_project_dir。执行完命令之后,会把指定的主干和分支代码检出下来。

3.构建新的分支
把svn的分支变成真正的git分支,命令git for-each-ref refs/remotes/tags | cut -d / -f 4- | grep -v @ | while read tagname; do git tag "$tagname" "tags/$tagname"; git branch -r -d "tags/$tagname"; done

4.提交到远程git仓库
首先把本地仓库和远程仓库关联起来,命令为git remote add origin git@my-git-server:myrepository.git

然后提交主干分支,命令为git push origin --all

提交tag,命令为git push origin --tags

到此,svn仓库迁移到git仓库完成。如果svn仓库比较大的话,那在第二步检出svn仓库到本地的操作可能耗时会比较久,耐心等待即可。

利用官方git svn插件迁移svn仓库相关推荐

  1. 2019年8月 interllij idea 详细安装教程以及配置svn插件

    一.本人使用的是ideaIU-Ultimate-2017.3.1 版本,若要其他版本请自行前往官网下载.(留下邮箱,我会给你发送本文涉及的所有文件资源.) 官网地址为:http://www.jetbr ...

  2. myecplise 添加svn插件

    myecplise 添加svn插件 myecplise svn插件下载地址 http://subclipse.tigris.org/servlets/ProjectDocumentList?folde ...

  3. svn 提交到远程仓库_聊聊如何从SVN迁移源码到Git仓库

    背景介绍 这里就不再赘述关于SVN与Git的区别以及为什么要迁移源码到Git了,毕竟Git是当前的主流DVCS了,而且已经公认地非常好用,如果你还在使用SVN的话该考虑换了,是时候迁移那些遗留代码了, ...

  4. svn的代码提交到git服务器_svn服务器代码仓库,数据迁移到git仓库

    svn服务器代码仓库,数据迁移到git仓库 1.安装svn [root@tomcat01 ~]# yum install subversion -y 2.初始化仓库 [root@tomcat02 ~] ...

  5. svn 代码迁移到git

    svn 代码迁移到git 1.收集svn上的人员信息,并编辑成git能识别的账号 2.使用 git svn clone 命令 克隆代码(以下步骤建议在win10上操作) 3.用git命令查看提交记录 ...

  6. SVN——SVN项目迁移到GIT

    svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料,包括svn的提交日志记录也迁移到Git上面 ...

  7. 【git学习】SVN项目迁移到Git操作指南

    2017年6月份的时候,我就着手在公司推广git,首先我自己尝试搭建了GitLab来管理代码,并且通过以下博客记录了GitLab的搭建,以及GitLab备份,GitLab升级等事情. git学习--- ...

  8. Linux 下禅道和 SVN、GIT 集成插件发布

    Linux 下 SVN.GIT 可以和禅道集成了.在版本库中提交代码就可以自动更新关联禅道的任务和Bug.感谢网友张彪的开发. 一.下载地址 1.源代码:https://github.com/easy ...

  9. svn服务器迁移部分文件缺失,SVN仓库迁移(将一个仓库从一台服务上上转移到另一服务器上)...

    将一台服务器上已有的SVN仓库数据整体迁移到另外一台机器上,要保留所有的版本号和版本信息,需要以下过程来解决 No.1 将准备要迁移的仓库导出 命令: 我们先要cd进要导出库的根目录,假设在/data ...

  10. 如期而至的SVN服务器迁移引来一个大瓜XAMPP

    文章目录 前言 方案评估 前奏 XAMMP 搭建svn服务 准备软件包 安装必要环境和工具 安装xampp 运行xampp 编辑xampp 访问xampp 安装subversion 安装svnmana ...

最新文章

  1. iphone默认的heic格式怎么在电脑中打开
  2. VS2008中文正式版发布了,附下载链接!
  3. OkHttp踩坑记:为何 response.body().string() 只能调用一次?
  4. Sentinel Go 0.4.0 发布,支持热点流量防护能力
  5. php接收rs485的数据如何处理,为什么485不能连续接收?
  6. php isapi mysql_windows server 2003以isapi的方式配置php+mysql环境的详细过程
  7. 二分法查找(C/C++)
  8. 2019安卓机皇已定?三星Note10系列被曝将在8月10日发布
  9. Spring Cloud 服务注册与发现 [ eureka ]
  10. Kali渗透测试工具库(二)beef--Web浏览器攻击框架
  11. [领域]javascript hacking guide 第5部分
  12. 小微风控之财务评分模型的制定与应用
  13. Python一键替换证件照背景,还用去照相馆?
  14. androidx 填坑记
  15. Mark- 新的开始
  16. 电源的环路补偿、功率级补偿、Vout的波形对应的响应速度-运放环路补偿
  17. deepin v20显卡问题wifi网速慢cpu高频率发热(2021-1-23更新)
  18. C/C++中的pi(pai)怎么打 【c语言】
  19. 实战Go内存泄露【转】
  20. .net 邮箱验证码 邮箱验证码实现用户注册

热门文章

  1. 一种数字全息自动聚焦技术研究及实例分析
  2. 《笑傲网湖》第一回 从HUB和LANSWITCH开始
  3. 数据标准在网易的实践
  4. 【Mac进销存管理软件】Daily Sales Pro Mac
  5. 利用ACIS、HOOPS开发三维软件
  6. java 权限管理都用什么_java权限管理框架有哪些?
  7. 配置VSS2005的Internet访问(转)
  8. 古董电脑室:2019日记簿(一)
  9. HEVC代码学习31:xCheckRDCostMerge2Nx2N函数
  10. VMware虚拟机中windows7系统的安装