①将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备份 ...
随机推荐
- CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...
- ICEM-三棱锥的一种画法
原视频下载地址:https://pan.baidu.com/s/1c4BAqy 密码: nqb4
- span 不使用float 靠右对齐且垂直居中
一般让div 里的span 靠右对齐用的方法比较多的是float:right. 这次由于各种原因我不想用float 先看效果: HTML 部分 <div class="customer ...
- HBase(一) —— 基本概念及使用
一.安装&启动 下载 https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.1.8/ 快速开始文档,HBase2.1.8 http://hba ...
- 使用RestTemplate请求报出HttpClientErrorException异常并获取不到返回body数据
描述: 使用RestTemplate请求url,由于Token等验证信息参数失效,报出 401 HttpClientErrorException异常.并且获取不到body消息体的错误信息.然而post ...
- Java多线程的Callable, Future, FutureCallback
Callable可以看成是一个增强版的Runnable, 带返回结果, 需要通过Future或者FutureTask来提交任务或运行线程, 然后通过Future/FutureTask的get方法得到返 ...
- shell 数学计算的N个方法
let使用方法 root@172-18-21-195:/tmp# n1=5 root@172-18-21-195:/tmp# n2=10 root@172-18-21-195:/tmp# let re ...
- UI Automator 介绍
简介 Android 4.3发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 ...
- 【Shell常用命令二】管道符 通配符
======================================
- Java之java简介
Java最早有SUN公司(已被Oracle收购)的詹姆斯高斯林在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,结果市场没啥反响.谁料到互联网的崛起,让O ...