①将SVN迁移到GitLab-单分支迁移
将SVN上的代码迁移到GitLab上,实际原理是将所迁移的服务器上,拷贝SVN上的相关代码,在服务器上生成Git相关仓库,然后推送到GitLab仓库,并保存SVN相关的提交记录,分支,标签等信息。
一、安装git-svn
首先安装迁移所需要的工具git-svn,通过以下命令行进行安装。
apt-get install -y git-svn或者yum install -y git-svn
我们在原来的svn教程基础上,用shaw001用户新增了testMeg.txt、commit-shaw001.txt文件,用shaw002用户新增了commit-shaw002.txt文件,并修改了两个文件,svn提交记录如图所示:
二、生成用户映射文件
保留原SVN仓库的Commit等历史记录,需要获取到SVN使用的作者名字列表,为了获得 SVN 使用的作者名字列表,可以通过以下命令行,获取SVN相关用户信息:
svn co --username shaw001 --password shaw001 svn://192.168.109.128/ code
以上红色部分为可变变量,说明:
--username:后头跟svn用户名。
--password:后头跟svn用户相关密码
svn://192.168.109.128/:为SVN仓库地址
code:文件夹,存放SVN仓库相关文件夹
执行命令后会将svn上的相关文件代码存放到code文件夹。进入code文件夹,可以看到,我们在svn存放的一些文件信息。
接着,通过以下命令,生成svn用户列表:
svn log --xml | grep author | sort -u | perl -pe 's/.*>(.*?)<.*/$1 = /' > /home/svn/users.txt
红色部门为用户列表文件存放的路径。期间要输入svn的用户名和密码。
执行命令后我们在/home/svn路径下会多出一个users.txt的文件。
打开后,我们会看到里头有svn的用户。
三、修改用户列表,配置与GitLab用户映射关系
我们登陆到GitLab上,新建两个用户shaw001和shaw002,并且email设定为shaw001@example.com和shaw002@example.com
修改users.txt文件,配置对应关系:
格式如下:
svn用户 = GitLab用户<GitLab用户邮箱>
四、将svn仓库变成GitLab仓库
在服务器上拷贝svn代码并转成GitLab仓库。通过以下命令:
git svn clone svn://192.168.109.128/ --authors-file=/home/svn/users.txt --no-metadata myproject
期间也是要输入svn密码的:
执行完文件信息如下:
五、创建GitLab项目接收代码
在gitlab创建testsvn项目用来接收svn代码
执行分支添加:
git remote add origin git@192.168.109.128:shaw001/testsvn.git
然后推送到远端:
git push origin –all
有时候执行过程中会提示:无法推送一些引用到”xxx”
执行以下命令:
git push -u origin +master
这时候要添加sshkey。这步骤省去,添加完后,重新执行下。这儿添加ssh key略去,添加SSH key之后重新执行:
登录gitlab查看下,相关的提交记录
文件已经同步了
同时相关的提交记录也同步了。完成。
①将SVN迁移到GitLab-单分支迁移的更多相关文章
- gogs迁移至gitlab
一.先来聊一聊迁移的思路,不管是gogs迁移至gitlab,还是gitlab迁移至gogs,亦或gitlab迁移至gitlab,手动迁移的步骤都是如下图所示(在gitlab上新建一个空项目就会有这样的 ...
- SVN迁移到Gitlab实践经历
svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...
- 项目案例之GitLab的数据迁移
项目案例之GitLab的数据迁移 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方 ...
- github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器
一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- Gitlab备份与恢复、迁移与升级
0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postf ...
- 如何从GitHub迁移到GitLab?
如何从GitHub迁移到GitLab? 在本文中,我们将解释如何从Github迁移到Gitlab,同时我们也将解释如何将Github的开源项目导入到Gitlab. 正如你可能非常清楚的那样, Gitl ...
- gitHub 迁移到gitlab上
GitHub 迁移到 GitLab 上 第一步在github上生成 token 地址 https://blog.csdn.net/u014175572/article/details/55510825 ...
- Gitlab备份、迁移、恢复和升级
Gitlab备份.迁移.恢复和升级 自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 1.gitlab备份 ...
随机推荐
- ubuntu之路——day16 只用python的numpy在底层检验神经网络的优化算法
首先感谢这位博主整理的Andrew Ng的deeplearning.ai的相关作业:https://blog.csdn.net/u013733326/article/details/79827273 ...
- 在IDEA上对SpringBoot项目配置Devtools实现热部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...
- Laravel模型事件的实现原理详解
模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细 ...
- 013 Enhancer创建动态代理
在上一章使用了Enhancer,没有仔细说明代理的问题,在这一章进行详细的说明. 原本想使用cf包的,后来发现使用framework包下的包也没有问题,程序中就一直使用framework中的类. 一: ...
- 运维笔记--linux下忘记mysql root密码
补充链接:Windows下忘记密码处理: https://www.cnblogs.com/hellojesson/p/5972950.html 场景描述: Linux环境下忘记 root 密码, 1. ...
- 【各种误解解释】C-LODOP的三种角色及注册号
该简短问答是从现象和误解和相关作为分类,主要是注册角色和注册号使用等.之前的相关博文(该相关博也有些链接到的博文,按照大类区分):LODOP和C-LODOP注册与角色等简短问答[增强版]. 确认角色: ...
- 【视频开发】CximageMat 、CximagelplImage 以及 lplImageMat的转换、像素位深度
1.传统的lplImage * -------> Mat格式 IplImage* img = cvLoadImage("greatwave.png", 1); Mat mtx ...
- idea创建maven web项目需要注意的一些细节
在idea中构建maven java web项目,从new project到选择maven骨架到最后finish完成,整个流程完成后,项目基本结构已经出来,但是距一个可以正常开发运行的web项目还有一 ...
- Influx Sql系列教程五:insert 添加数据
接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有 ...
- jquery向上滚动页面的写法
jquery向上滚动页面的写法<pre> $('.arrow_top').on('click',function () { $body = (window.opera) ? (docume ...