SVN迁移到gitlab

安装git和SVN客户端

yum install -y git subversion git-svn

开启sshd密钥验证方式

sed -i ‘/^AuthorizedKeysFile/s/^/#/g‘ /etc/ssh/sshd_config
sed -i ‘/AuthorizedKeysFile/a\AuthorizedKeysFile  .ssh/id_rsa.pub‘ /etc/ssh/sshd_config

创建SSH密钥对,使用gitlab的root用户

ssh-keygen -t ed25519 -C "[email protected]"

通过浏览器访问gitlab,进入到Settings-SSH Keys,将公钥(.pub)文件内容添加上去。

创建本地SVN目录

mkdir /data/svn/xxx
cd /data/svn/xxx

初始化git全局设置

git config --global user.name "Administrator"
git config --global user.email "[email protected]"

将SVN仓库checkout到本地

svn checkout --username liming --password liming123456 http://192.168.2.250:9999/svn/xxx ./

保留原SVN仓库的Commit等历史记录,以便获取SVN使用的作者名字列表

svn co --username liming --password liming123456 http://192.168.2.250:9999/svn/xxx  code
cd code/

将日志以xml格式输出,然后保留作者信息行、去除重复、去除 XML 标记,将输出重定向到txt文件中

svn log --xml | grep author | sort -u | perl -pe ‘s/.*>(.*?)<.*/$1 = /‘ > /root/users.txt

修改txt文件,将SVN账号和gitlab账号用=号一一对应起来
vim /root/users.txt

liming = "李明" <[email protected]>
xiaoming = "张×××" <[email protected]>
ceshi = "测试" <[email protected]>
………………

将本地SVN仓库转换为git仓库

git svn clone http://192.168.2.250:9999/svn/xxx  --authors-file=/root/users.txt  --no-metadata  my_project

添加远程仓库地址,将本地仓库和远程仓库建立联接

cd my_project/
git remote add origin [email protected]:xxx/xxx.git

将本地数据推送到远程仓库上

git push -u origin --all

原文地址:https://blog.51cto.com/andyxu/2427321

时间: 2024-10-10 15:27:34

SVN迁移到gitlab的相关文章

centos上 svn迁移到gitlab

1. 安装svn2git工具(自己找一台服务器) #安装svn2git.在所有系统上,如果您已经安装了Ruby和Git,您可以将它们安装为Ruby gem. gem install svn2git 2. svn库中导出作者文件authors.txt #准备一个作者文件,以便svn2git将SVN作者映射到Git作者.如果您选择不创建作者文件,则提交不会归因于正确的GitLab用户.有些用户可能不认为这是一个大问题,而另一些用户则希望确保他们完成这一步骤.如果您选择映射作者,则需要将存在于SVN存

SVN迁移Gitlab步骤

概述 公司要求将之前使用SVN进行管理的项目迁移到Gitlab进行项目管理,但是运维连不上我们这边的SVN服务器,于是我们就得自己将SVN项目迁移到Gitlab.Yeah!终于有我表现的机会了. 要求保留SVN上的提交记录 总体的执行步骤如下: 账号对应 git-svn拉取原来SVN项目 提交项目到Gitlab上 执行步骤 接下来我们就要进行转换了. 账号对应 SVN使用的是用户账号展示的提交记录,但是git使用的是账号和邮箱进行人员确认的,因此我们需要使用将二者进行对应. 新建个txt文本文档

将代码库从 SVN 迁移至 Git 并保留所有 commit 记录

公司内部原本使用 SVN 进行版本控制,但随着 Github 的流行我个人的代码管理习惯逐渐转变.虽然公司项目并非开源,SVN 所具有的标准 trunk / branches / tags 结构完全够用,使用 Git 仍然有如下优势: 类似 GitHub 的 GitLab 免费管理工具.将代码托管在自己内部服务器上的同时,提供了优美的 web 界面,图形化分支结构,更直观的代码审查,统计.issue 系统.wiki 等功能全面集成. 更方便主程做 code review,控制代码质量.创建主仓库

坑死人不偿命,svn 迁移到 git

用git的人非常鄙视用svn的.因为要不断的开分支.而且也没有本地的分支这个概念. 但是git 作为一项技术,是一定可以被svn替代的.当然替代的方法是否繁琐另当别论,但一定是能被替代.svn同样也能被git替代.大概所有的技术都是一样.都能相互替代,只是你要为替代本身花费多长时间. git作为一种同步工具好用吗?其实真不好用.我梦想的工具一定是可以帮我自动完成merge过程的,永远不用开分支,永远不用告诉我链表头在哪里,以及怎么reset, 什么时候rebase, 什么时候打tag. 一个工具

svn迁移到git

最近需要将项目从svn迁移到git,至于原因请忽略,至于svn与git区别优劣请自行百度.一共有两种方式可行: 第一种方式较为常见,但是会丢失之前svn版本提交记录,就是将svn checkout到本地然后上传到git上 详情参见:http://blog.csdn.net/hanhailong726188/article/details/46738929 第二种方式较为复杂,但是可以保留之前svn版本提交记录,执行命令如下: git svn clone https://172.16.0.241:

SVN 迁移

前段时间公司的SVN服务器做升级,需要做SVN迁移,百度谷歌了解了大概,(感谢老板放心啊,还好没什么问题,都迁移成功了),之前用的是1.6,我看了下官网有1.8,征得同意后就直接升级加迁移一起做了了.下面是迁移的大概步骤 1. 源服务器: 1) 停掉SVN service 2) 运行dump 命令,制作待迁版本库的dump 文件 由于当前版本库中文件版本较多,一万两千多个,试过一次性制作dump文件,但是会出错, 所以改成分段制作 (这里用了一个脚本) echo %date% %time% St

linux下SVN迁移

将192.168.8.xxx 上的svn迁移到另外一台机器上 svn迁移步骤如下:1.将原来的Repository导出为一个文件,在/u01/svn/repo/db目录下svnadmin dump /u01/svn/repo> /u01/backup这里说明下/u01/svn/repo是我svn库存放的地址.2.使用scp把repo传输到要新服务器上scp /u01/backup [email protected]:/u01/3.在新服务器上配置相同svn环境(当然,前提是这个新的服务器已经装了

两台电脑间的svn迁移

换电脑了,原机器上自己的svn资料不能丢掉,需要迁移到新的笔记本电脑上. 看了不少网友的迁移方法,大部分用的是svn本身提供的导入.导出的方法,我就想了如果svn所在的机器坏了怎么能正常的导出数据来??!!! 我就不按照svn标准做法干一下,看行不行. 下载VisualSVN-Server-3.3.1-x64.msi 并安装VisualSVN-Server-3.3.1-x64.msi,设置repositorys位置到E:\svn_abc\ 从老笔记本的svn repository中仅仅copy

Centos 5.8 svn迁移

svn迁移挺简单的,以前老是去网上找,现在自己写一个就当做个记录了. 原创博文来自:www.51niux.com  博主:忙碌的柴少 1. 在要迁移服务器搭建环境一致的svn服务,我们是yum安装的,我这里就省事了 yum install subversion -y 2. 在迁移端将svn库导出来,我的库比较多所以走了一个for循环,这里就以一个库举例吧 svnadmin dump  /data/sns/repo/Admanager >/backup/svnbackup/Admanager #我