随笔—SVN仓库转换为Git仓库

假设需要转换的SVN仓库地址为:https://tmp/svn

1、使用git svn clone命令开始转换

$ git svn clone https://tmp/svn -T trunk -b branches -t tags
#git svn clone会将整个SVN仓库导入到一个本地仓库中,
#-T trunk -b branches -t tags告诉Git,需要clone的SVN仓库的基本分支和命名法则
   #如SVN里的trunk,等同于Git里的master分支,整条选项可以使用-s代替
$ git svn clone https://tmp/svn -s   #此命令与上面的效果一样

2、Clone完成后,使用git show-ref命令查看git仓库的基本情况

$ git show-ref
f9e1af7a36109cdfb7934d2e9d9e7f7375609e43 refs/heads/master
f9e1af7a36109cdfb7934d2e9d9e7f7375609e43 refs/remotes/origin/HEAD
f9e1af7a36109cdfb7934d2e9d9e7f7375609e43 refs/remotes/origin/master
131ecb795ceb25ae7645b5eca041bad9c455f95b refs/remotes/origin/test

3、转换SVN仓库的svn:ignore属性到Git仓库的.gitignore文件

$ git svn create-ignore

4、 转换SVN的标签为Git标签

 $ cp -Rf .git/refs/remotes/tags/* .git/refs/tags/
 $ rm -Rf .git/refs/remotes/tags

5、 转换SVN的分支为Git分支

$ cp -Rf .git/refs/remotes/* .git/refs/heads/
$ rm -Rf .git/refs/remotes

6、最后把转换完成的本地Git仓库推送到Git服务器上

$ git remote add origin remote_address
$ git push origin master --all

SVN那边所有的标签和分支都可以变更到了Git服务器里了。

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/21199

(0)
N21-沉舟N21-沉舟
上一篇 2016-07-04 11:28
下一篇 2016-07-04 11:29

相关推荐

  • linux 文件管理类命令及功能用法

    第一题:Linux上的文件管理类命令都有哪些,其常用的使用方法及相关示例演示。 文件管理类的命令有: cd,ls,touch,mldir,cp,mv,rm,rmdir,pwd,tree 使用方法 (1),cd命令用来切换工作目录至dirname。其中dirName表示法可为绝对路径或相对路径。 常用格式: cd #进入用户家目录 cd~ #进入用户家目录 c…

    Linux干货 2017-07-09
  • GDB中应该知道的几个调试方法

    七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。 一、多线程调试 多线程调试可能是问得最多的。…

    Linux干货 2016-07-11
  • 磁盘管理和高级文件系统管理-习题

    高级文件系统管理-习题 1、 创建一个可用空间为40G 的RAID1 设备,要求其chunk大小为128k ,文件系统为ext4 ,有一个空闲盘,开机可自动挂载至/backup目录 [root@centos7 ~]# mdadm -C /dev/md0 -c 128 -a yes -l 1 -n 2 -x 1 /dev/sdb /dev/sdc /dev/s…

    Linux干货 2016-09-01
  • rpm包管理

    一、什么是RPM     RPM全称为“RedHat Package Manager”,看名字就知道这是RedHat公司搞出来的,后来因为RPM发展的很好,逐渐成为了一种通用的标准,就更名为“RPM is Package Manager"。     RPM最大的特点就是…

    Linux干货 2015-05-11
  • 第一周作业

    一·计算机组成及其功能     计算机由硬件和软件组成,他们构成计算机系统 硬件:构成计算机的物理装置包括中央控制器、存储器、输入设备、输出设备。 中央控制器(CPU):由控制器、运算器、寄存器和缓存组成。cpu的主频越高和缓存越大性能越好。主频是中央处理器时钟的频率,通常以兆赫兹(MHZ)为单位。缓存:可以进行高速数…

    Linux干货 2016-12-01
  • linux 网路管理路由和team网络组

    如何实现把linux当路由器来使用,实现不同网段之间的通信访问,这就是今天所要实现的路由配置   环境准备:4台虚拟机,两台中间两台作为路由器来使用(每天主机两块网卡),其他两台作为终端主机,目的是让不同网段的两台主机之间互相访问(这里在vmware里面做的实验,所以网卡的类型都设置为桥接)   拓扑图:   步骤一:将A、D两…

    Linux干货 2017-05-07