从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.txt 
SVNuser1 = 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两个,如果你通过终端操作,就选择SSH
git 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(提交历史,用户)项目的更多相关文章

  1. 基于SVN提交历史筛选作者并修改文件内容

    笔者最近开发的项目中,是通过SVN做为版本管理工具的,因为需要创建的文件太多,所以有许多文件是在原有文件基础上拷贝过来修改的,这里就涉及到一个问题,原有文件中注释里填的JAVA类名.作者工号.创建时间 ...

  2. idea 导入svn中java WEB项目

    1.打开idea 2.填写svn路径 3.指定本地路径 4.选择1.8 format 5.添加jdk 6.配置tomcat启动项目 File -- Project Structure

  3. 【SVN】删除SVN上的历史资源路径和SVN上的历史用户信息

    1.删除svn上历史资源路径 window--show view--other--svn资源库 可以右键选择删除 . ----------------------------------------- ...

  4. [SVN(Ubuntu)] SVN 查看历史详细信息

    转载: http://lee2013.iteye.com/blog/1074457 以下内容,对ubuntu命令行查看代码变化非常有用. SVN 查看历史信息 通过svn命令可以根据时间或修订号去除过 ...

  5. ubuntu安装和配置SVN【转】

    ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2  libapache2-svn subversion ...

  6. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  7. git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性

    背景 最近我们组几个同事都投入到了一个新项目,互相之间的功能耦合比较紧密,因此,是打算从master上新拉一个分支,可以理解为我们几个人的开发分支,以develop代替. 一开始,我们是打算像svn那 ...

  8. 使用phpstorm来进行svn提交

    macbook上找一款好用的免费的SVN真是难呀,要么就是非常模糊的画面,本想用Xcode的,但是折腾了一会想打开一个php项目文件夹,不会搞.最后想还是用phpstorm吧.没想到还挺好用的. 首先 ...

  9. github如何查看提交历史呢

    git日志的查看,在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看....... 一.查看日志信息: $ git log 可以用 -- ...

随机推荐

  1. 批量改ID 行形式

    update [Temp_Sql] set ID(字段) = (274+ID(字段))  字段+字段形式 可以以行形式批量修改

  2. springmvc相关配置和用法

    目录如下: 一.spring mvc 核心类与接口 二.spring mvc 核心流程图 三.spring mvc DispatcherServlet说明 四.spring mvc 父子上下文的说明 ...

  3. HDU_6298 Maximum Multiple 【找规律】

    一.题目 Given an integer $n$, Chiaki would like to find three positive integers $x$, $y$ and $z$ such t ...

  4. poj2420 A Star not a Tree? 找费马点 模拟退火

    题目传送门 题目大意: 给出100个二维平面上的点,让你找到一个新的点,使这个点到其他所有点的距离总和最小. 思路: 模拟退火模板题,我也不懂为什么,而且一个很有意思的点,就是初始点如果是按照我的代码 ...

  5. BZOJ - 4260 01字典树+前后缀

    题意:给定\(a[1...n]\),求\((a_i⊕a_i+1⊕...⊕a_j)+(a_p⊕a_{p+1}⊕...⊕a_{q})\)的最大值,其中\(1≤i≤j<p≤q≤n\) 前后缀最优解预处 ...

  6. 关于es6 import export的学习随笔

    记得之前的一次面试中,有个面试官问了我关于es6导入和导出的一些知识点,可惜当时对这方面没在意,只知道每次机械的import和export,也不知道为啥要这样用,现在静下心来,好好的把这块看了下,顺便 ...

  7. 在Eclipse中添加Servlet-api.jar的方法

    方法一: 正确的加载servlet-api.jar的方法如下: 1:右击项目工程名称 2:Properties 3:  Jvav Build Path 4:  Libraries 5:  Add Ex ...

  8. 使用类和对象、方法、循环、List、泛型来实现简单的图书管理系统

    Book.java import java.util.List; import java.util.Scanner; public class Book { private String name; ...

  9. java c c++大学补遗

    第一次面试时的问题是一个看起来50多数的老工程师问的, 仍然记忆犹新 java(面向对象)的基本特性? 封装 继承 多态 工作几年后,各种框架用来用去, 回想起这个问题,java也就剩下这几个特性了

  10. [V1-Team] WEDO创意论坛技术规格说明书

    WEDO 创意论坛技术规格说明书 0x0 文档版本 版本号 说明 v1.0 初步确定技术路线 附Github仓库:WEDO 0x1 技术说明 1. 前端框架   在主流的前端框架中,我们调研了Vue. ...