如何SVN数据迁移到Git

由于Git分布式体系结构,用户完全可以脱离Git服务端在本地查看,编辑和提交代码,现在公司Leader要求将SVN上面的数据迁移到Git上面,通过git svn命令可以将SVN里面的数据迁移到Git上面。

1.物理环境

Git-server    Centos5.8    192.168.1.245

Svn-server    Centos5.8    192.168.1.108

2.建立SVN用户到git用户的映射文件,文件格式如下:

cat /tmp/userinfo.txt
david=sfzhang<shifeng_zhang88@163.com>
yanni=yanni<yanni_liu88@163.com>

3.通过git svn clone克隆一个git版本库,SVN里面包含trunk,branches和tags。

git svn clone svn://192.168.1.108:9999/yanzi/ --no-metadata --authors-file=userinfo.txt --trunk=trunkmobile --tags=tags --branches=branches --ignore-refs=refs/remotes/yanzi-.*  yanzi

参数--no-metadata表示阻止git导出SVN包含的一些无用信息

参数--authors-file表示SVN账号映射到git账号文件,所有svn作者都要做映射

参数--trunkmobile表示主开发项目

参数--branches表示分支项目,--ignore-refs表示不包含后面的分支项目

参数yanzi表示git项目名称

4.通过git log 查看项目提交的历史记录,包括作者,日照,和提交注释信息等。

cd yanzi
git log
commit 3c4907782804096ea3fa3fb5419dcce610e56f1f
Author: david <shifeng_zhang88@163.com>
Date:   Fri May 10 10:27:50 2013 +0000

5.在git版本库里面tag都是branches(分支),首先列出当前所有的分支。

cd yanzi
git branch -r
  tags/mobile_1.0.0
  tags/mobile_1.0.1
  trunk
  yanziios1.0.1-build-2223-branch-002

6.手动将branches分支转换为tags。

git tag mobile_1.0.0 tags/mobile_1.0.0
git tag mobile_1.0.1 tags/mobile_1.0.1

7.将多余的branches删除掉。

git branch -r -d tags/mobile_1.0.0
Deleted remote branch tags/mobile_1.0.0 (was d50002b).
git branch -r -d tags/mobile_1.0.1
Deleted remote branch tags/mobile_1.0.1 (was e7b78a2).

8.再次列出当前的所有分支。

git branch -r
  trunk
  yanziios1.0.1-build-2223-branch-002

9.建立git仓库并初始化版本库。

mkdir -p /data/gitdata/yanziios.git
cd /data/gitdata/yanziios.git/
git init --bare
Initialized empty Git repository in /data/gitdata/yanziios.git/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索git clone
, git
, branch
, mobile
, 数据迁移
, git clone 命令
, svn 资源历史记录
, 分支
, git多账号登录
, tags
显示Git分支名称
svn数据迁移到git、svn 迁移到git、svn git 迁移、svn代码迁移到git、svn项目迁移到git,以便于您获取更多的相关知识。

时间: 2024-10-28 10:04:49

如何SVN数据迁移到Git的相关文章

《走进git时代系列二》 从SVN迁移到GIT教程

本篇文章是走进git时代系列之二,如何迁移到GIT的教程, 不了解GIT的同学可以先看系列一<走进git时代系列一> 你该怎么玩? 本文分为以下几部分内容: SVN 迁移到 Git 的简单原理 图文教程从TaoCode SVN 迁移到 YunCode Git 如何混用SVN+GIT SVN 迁移到 Git 的简单原理 本文所涉及的工具只有一个 git-svn , 包含在1.7.1以上的git客户端版本内, 该工具详细介绍见: https://www.kernel.org/pub/softwar

git学习------&amp;gt;从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?

最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年. 因此导致虽然项目迁移过来了,但是团队开发还是在SVN提交代码.所以得想个办法同步迁移之后继续在SVN提交的代码到Git来,不然到时候又得做一次迁移操作得多操蛋. 在网上查看了下资料,都是讲SVN迁移到Git的过程,并没有讲解迁移之后团队成员继续在SVN提交代码,然后需要同步最新的SVN提交记录到Git的过程,因此自己慢慢探索,居

svn迁移到git仓库并保留commit历史记录

svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如果svn用的时间很长了,而且很多commit,我们希望保存svn commit的信息以便做版本的控制和比较.幸好git提供了相应的解决办法. 前提 已安装git 已安装gitlab 迁移 1.环境准备: yum install -y git-svn 2.svn账号与git账号映射,users.txt

迁移到 Git 的八个理由

最近谈到版本控制,所有人都在谈Git.当然随意的谈论并不能让你下定决心迁移到Git.这里列出了八条有分量的理由,让你加入Git阵营.  1. 快速 如果你每移动一下鼠标都要等待五秒,是不是很受不了?版本控制也是一样的,每一个命令多那么几秒钟,一天下来也会浪费你不少时间.Git的操作非常快速,你可以把时间用在别的更有意义的地方.  更多统计数据,请看 www.whygitisbetterthanx.com.  2. 离线工作 在没有网络的情况下如何工作?如果你用SVN或者CVS的话就很麻烦.而Gi

在Python中利用Into包整洁地进行数据迁移的教程_python

动机 我们花费大量的时间将数据从普通的交换格式(比如CSV),迁移到像数组.数据库或者二进制存储等高效的计算格式.更糟糕的是,许多人没有将数据迁移到高效的格式,因为他们不知道怎么(或者不能)为他们的工具管理特定的迁移方法. 你所选择的数据格式很重要,它会强烈地影响程序性能(经验规律表明会有10倍的差距),以及那些轻易使用和理解你数据的人. 当提倡Blaze项目时,我经常说:"Blaze能帮助你查询各种格式的数据."这实际上是假设你能够将数据转换成指定的格式. 进入into项目 into

Laravel中数据迁移与数据填充的详细步骤

前言 这是一篇基础教程,对标 Laravel 文档中的数据迁移和数据填充,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍把. 关于Laravel数据库迁移的理解 最初看到laravel框架中迁移的时候,会以为这个迁移是把数据从一个数据库中迁到另一个数据库中,又或者是从一个服务器迁移到另一个服务器中.我自己学习有一个学习方法叫做顾名思义,所以所述是我的第一反应,但是学了以后发现这个迁移不是我理解中的迁移,但又不知道为什么叫做迁移,所以去百科查了一下. 迁移是指已经获得的知识.技能,甚

ORACLE与SQL之间的数据迁移

oracle|数据 高级数据迁移        很多时间,要在异构数据库之间进行数据迁移或抽取,如果在SQL中提取ORACLE的数据,可以通过ODBC.OLEDB等多种方式,要从ORACLE提取SQL中的数据,大都是通过透明网关来实现的.        在异构数据抽取过程中,最好采用SQL92标准的语法编写SQL代码,同时要注意不同数据库之间数据类型的转换关系,如ORACLE的日期类型用DATE.SQL用Datetime等.   一 关于ORACLE的透明网关配置        ORACLE安装

使用Kettle数据迁移添加主键和索引

Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,主要用于数据抽取.转换.装载.kettle兼容了市面上几十种数据库,故用kettle来做数据库的迁移视乎是个不错的选择. kettle的数据抽取主要在于抽取数据,而没有考虑数据库的函数.存储过程.视图.表结构以及索引.约束等等,而这些东西恰恰都是数据迁移需要考虑的事情.当然,如果在不考虑数据库中的函数.存储过程.视图的情况下,使用kettle进行数据的迁移还算是一个可行的方案. 这篇文章主要是讲述在使用kettle进行数据库的

使用热备份进行分时恢复----怎样通过归档逐步恢复以缩短数据迁移时间

备份|恢复|热备份|数据 使用热备份进行分时恢复 ----怎样通过归档逐步恢复以缩短数据迁移时间 Last Updated: Monday, 2004-11-15 10:32 Eygle         很多时候你可能遇到这样的情况:一个大型数据库的迁移,但是只有很少的停机时间,这看起来充满困难.可是我们可以通过各种方法来缩短停机时间. 本例适用于同平台.同版本数据库迁移. 在此情况下,我们可以通过一个热备份,应用归档恢复数据库到一个一致的状态,此时数据库可以被只读(read only)打开.之