ubuntu GITLAB完全导入SVN(提交历史,用户)项目
从SVN导入到GITLAB目前没有直接的方案,通常需要通过GIT转换:SVN –>GIT –>GITLAB。通过这种方式,将SVN的提交历史,用户信息一并导入到gitlab
注:本文只适用于只有一个SVN主分支的情况,如果你的代码有多个SVN分支,请移步
SVN->GIT
这个过程所需要安装的软件:
sudo apt-get install git-svn
#git-svn是一个git的工具:用来将svn项目转移到git
sudo apt-get install subversion
#ubuntu上非常方便的SVN工具
找出所有提交者
cd 你的SVN项目文件夹
svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'
手动设置对应关系,将SVN的用户一一对应于GITLAB用户(请确保gitlab里面已经创建了这些用户)
创建users.txt编辑users.txtSVNuser1 = gitlabuser1<gitlabuser1@email.com>SVNuser1 = gitlabuser1<gitlabuser1@email.com>……
从svn clone 出来
git svn clone --no-metadata -A users.txt svn://hostname/path dest_dir-tmp
#svn://hostname/path :替换为你的SVN项目的服务器地址
#dest_dir-tmp :替换为转换出来的git项目文件夹路径
GIT->GITLAB
在你的gitlab网站上端创建一个项目,用来导入git项目
项目创建后gitlab会显示下图类似的导入帮助信息
开始导入,执行帮助信息里面的代码就可以了
cd git项目文件夹路径
git remote add origin 你的git项目地址#这里需要注意的是,git项目地址由SSH和HTTP两个,如果你通过终端操作,就选择SSHgit push -u origin master
恭喜贺喜,导入完毕!!!
假如你和我一样,对于gitlab的使用和linux的使用很陌生,那么你可能会遇到权限不够,输入密码等各种问题,比如:
Permission denied (publickey,password).
fatal: Could not read from remote repository
出现这个错误,多半是因为的GITLAB没有配置好SSH KEY导致,你的主机不能通过SSH连接上gitlab服务器,你需要这样做:
登陆gitlab->Profile settings->SSH keys->找到那个generate it链接->点击
然后界面就会显示出一个适用于自己的生成SSH KEY的命令行,
ssh-keygen -t rsa –C 你的。。。拷贝命令行,在终端输入 <enter>;
继续在终端中输入界面的第二个命令行
cat ~/.ssh/id_rsa.pub然后复制cat输出的结果ADD SSH Key ,在Key中拷贝。title取名,这个名字不能更改!OK
ubuntu GITLAB完全导入SVN(提交历史,用户)项目的更多相关文章
- 基于SVN提交历史筛选作者并修改文件内容
笔者最近开发的项目中,是通过SVN做为版本管理工具的,因为需要创建的文件太多,所以有许多文件是在原有文件基础上拷贝过来修改的,这里就涉及到一个问题,原有文件中注释里填的JAVA类名.作者工号.创建时间 ...
- idea 导入svn中java WEB项目
1.打开idea 2.填写svn路径 3.指定本地路径 4.选择1.8 format 5.添加jdk 6.配置tomcat启动项目 File -- Project Structure
- 【SVN】删除SVN上的历史资源路径和SVN上的历史用户信息
1.删除svn上历史资源路径 window--show view--other--svn资源库 可以右键选择删除 . ----------------------------------------- ...
- [SVN(Ubuntu)] SVN 查看历史详细信息
转载: http://lee2013.iteye.com/blog/1074457 以下内容,对ubuntu命令行查看代码变化非常有用. SVN 查看历史信息 通过svn命令可以根据时间或修订号去除过 ...
- ubuntu安装和配置SVN【转】
ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2 libapache2-svn subversion ...
- 如何在一个ubuntu系统上搭建SVN版本控制工具
有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...
- git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性
背景 最近我们组几个同事都投入到了一个新项目,互相之间的功能耦合比较紧密,因此,是打算从master上新拉一个分支,可以理解为我们几个人的开发分支,以develop代替. 一开始,我们是打算像svn那 ...
- 使用phpstorm来进行svn提交
macbook上找一款好用的免费的SVN真是难呀,要么就是非常模糊的画面,本想用Xcode的,但是折腾了一会想打开一个php项目文件夹,不会搞.最后想还是用phpstorm吧.没想到还挺好用的. 首先 ...
- github如何查看提交历史呢
git日志的查看,在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看....... 一.查看日志信息: $ git log 可以用 -- ...
随机推荐
- 在VS 2012或2013中使用WSE
1,首先下载 WSE http://www.microsoft.com/en-us/download/confirmation.aspx?id=14089 2,安装的时候选上, 3,C:\Progra ...
- 多线程 NSOpeartion 的使用
NSOperation简介 相对于 GCD ,具有面向对象的特征,比 GCD 更简单易用,代码可读性强 NSOperatioin 单独使用时, 不具有开辟新线程的能力, 只是同步执行操作, 需要配合 ...
- LeetCode154.寻找旋转排序数组中的最小值 II
154.寻找旋转排序数组中的最小值 II 描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). ...
- [洛谷 P4612][COCI 2011-2012#7] Setnja
传送门 TM :setnja (1S256M) 一个人要散步去会见他的 N 个朋友(按给定的顺序会见).我们可以理解成他们都住在一个 很大的网格内,每个朋友住其中的一个单元格,所有人每一步都可以走到相 ...
- plsql11破解注册码
plsql11.0.6.1796-64bit的可以用注册码: Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number: passwo ...
- js去掉浏览器右键点击默认事件(+vue项目开启右键行为)
js去掉浏览器右键点击默认事件 1.阻止整个页面所有的右击事件 document.oncontextmenu = function(){ return false;} 2.特定的区域/元素 docum ...
- PhpExcel中文帮助手册|PhpExcel使用方法 ( 后面有部分没有显示出来 可以编辑中看到!!)
下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...
- [转] Nook Glowlight Plus入门指南(Root及相关软件设置)
[From] http://www.dakang.info/nook-glowlight-plus-root/ 本文仅仅是对大神 xukong及众多热心Hper帖子的一个汇总,稍作个人补充,方便查询, ...
- 【网络】默认路由、RIPv2、OSPF、EIGRP配置(全网全通)
1:默认路由 遇到问题:给r2配置向右的单项默认路由,通过PC1去ping主机PC2,一直显示Request timed out, 解决方法:r2配置如下: r2(config)#ip route 0 ...
- Redis主从、哨兵、集群的简单区别
2018-10-26 主从:读写分离,备份哨兵:监控,自动转移,选主集群:数据 hash 分片,同时包含主从及哨兵特性

