使用subgit进行svn迁移至git(branch,tags)
前言:
最近公司需要将整体项目从svn迁移至gitlab上,经过几天的研究,现记录一下流程
整体思路是进行一次导入:
先通过subgit将svn整个import至本地,在与git上的项目进行合并.
1.硬件环境
git:git version 2.7.4
svn: 1.6.11
subgit:3.2.2
2.下载subgit
官网下载subgit: https://subgit.com/
将subgit解压:
tar -zcvf subgit-3.2.2.zip
3.在gitlab上新建一个需要合并的项目
进入gitlab管理界面,新建项目:lclctest
git@xx.xx.xx.xx:lclc/lclctest.git (我这边新建了一个lclc的组)
建好以备用.
4.进入subgit-3.2.2/bin 目录,使用configure
命令
./subgit configure http://ip:port/svn/lclctest lclctest
完成后会有一些提示:
1) Adjust Subversion to Git branches mapping if necessary:/root/lclctmp/tmp/subgit-3.2.2/bin/lclctest/subgit/config 2) Define at least one Subversion credentials in default SubGit passwd file at:/root/lclctmp/tmp/subgit-3.2.2/bin/lclctest/subgit/passwdOR configure SSH or SSL credentials in the [auth] section of:/root/lclctmp/tmp/subgit-3.2.2/bin/lclctest/subgit/config 3) Optionally, add custom authors mapping to the authors.txt file(s) at:/root/lclctmp/tmp/subgit-3.2.2/bin/lclctest/subgit/authors.txt 4) Run SubGit 'install' command:subgit install lclctest
意思是进行一些配置,然后进行install
配置config:由于3.2.2默认是配置好的,可以不进行配置
trunk = trunk:refs/heads/master branches = branches/*:refs/heads/* branches = branches/features/*:refs/heads/features/* branches = hotfixes/*:refs/heads/hotfixes/* tags = tags/*:refs/tags/* shelves = shelves/*:refs/shelves/*
配置用户映射文件 author.txt 格式为:svnUser = Git User <user@example.com> (也可以不修改)
5.进行install
$ ./subgit install lclctest
此步将连接svn,需要耗时一段时间.
完成后就把svn代码迁移到本地库了,这时候就需要用git push到远程库中
6.clone版本
git clone ./lclctest lclctest.git
7.进入lclctest.git目录
git remote set-url origin git@yourip:lclc/lclctest.git(之前创建的git项目)
git push origin master
在push的时候发现提示填写密码:
git@ip's password:
此时说明需要进行身份验证,我们给git添加一个keygen就行了
7.1:生成keygen
cd ~ ssh-keygen -t rsa -C "your_email@example.com"
生成的文件在 .ssh文件下有 id_rsa和id_rsa.pub文件
7.2:上传keygen
打开gitlab的管理界面
将id_rsa.pub文件中的内容复制到Key的文本框里.
再执行步骤7的git push origin master命令上传master
8.上传分支.
进入lclctest.git目录,使用命令查看分支
git branch -a
结果:
* masterremotes/origin/HEAD -> origin/masterremotes/origin/bugfixremotes/origin/developremotes/origin/featureremotes/origin/master
本项目一共有3个分支,分别是bugfix,develop,feature,分别进行上传
git push origin remotes/origin/feature:refs/heads/feature
git push origin remotes/origin/bugfix:refs/heads/bugfix
git push origin remotes/origin/develop:refs/heads/develop
注意:冒号后面为远程库中的地址,必须以refs/heads开头.
9.上传tags
git push --tags
参考资料:
http://lattecake.com/post/20051
http://stackoverflow.com/questions/23251394/subgit-import-and-multiple-branches-directories
转载于:https://www.cnblogs.com/lic309/p/6290597.html
使用subgit进行svn迁移至git(branch,tags)相关推荐
- 从SVN迁移到Git(包括SVN历史纪录)【最系统的讲解】
从SVN迁移到git有很多方法,最简单的就是使用git包自带的git svn命令(git v1.7及以上).除此之外还有一些第三方的专门的转换工具如http://www.subgit.com/,htt ...
- 项目如何从 SVN 迁移到 Git
为什么80%的码农都做不了架构师?>>> #0 系列目录# 版本管理 SVN版本管理:场景命令实战 SVN版本管理:两种开发模式 GIT版本管理:场景命令实战 GIT版本管理: ...
- Gitea:从SVN迁移到Git
目录 环境信息 迁移步骤 SVN和Git都是优秀的版本管理工具.不幸的是,对于从SVN迁移到Git的过程.命令和说明,网上不少文章存在误导性.因此本文以Gitea为例,演示从SVN迁移到Git的详细过 ...
- SVN迁移到Git的过程(+ 一些技巧)
SVN迁移到Git的过程(+ 一些技巧) 李顺利 Key Words SVN,Git,Clone,Conversion,Tips,VCS,Pro Git 关于在VCS中SVN和Git之间的迁移(Clo ...
- Git学习文档之二 应用总结-svn迁移到git
##svn迁移到git 在 Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中.如果想让这条信息更好的映射到 Git 作者数据里,则需要 从 Subversion 用户名到 G ...
- SVN迁移至GIT,并附带历史提交记录
文章目录 SVN代码同步至GIT 背景 准备工作 操作步骤 SVN代码同步至GIT 背景 近年随着信息工程的多元化发展,GIT逐渐取代SVN成为主流的版本管理工具,部门的项目代码也决定迁移至git进行 ...
- 将项目从 SVN 迁移到 GIT
场景 项目开发中,项目原本是用的SVN,已经用了一年了,现在公司要抛弃SVN用Git,要求把SVN的代码直接搬过去Git,并保留之前的历史提交记录. 操作步骤 找到已经被svn管理的项目的根目录 Wi ...
- svn迁移到git报Checksum mismatch: TapiParser/jar/tapiParser/tapiParser.jar c7a0bbbcc00e06bf963e4499faf829
由于对git和svn都不是很熟悉,被分到这个任务是很懵的,好在有操作手册跟着操作,没有难度,但是在迁移过程中就报了错: Checksum mismatch: TapiParser/jar/tapiPa ...
- svn迁移到git实际操作(亲测有效)
要把svn项目迁移到git,话不多,直接上 首先svn与git安装好 1.到svn项目目录右键选中gitbash打开窗口,执行获取用户并映射成git样式账号命令如下: svn log -q | awk ...
最新文章
- 清华唐杰团队造了个“中文AI设计师”,效果比Dall·E好,可在线试玩
- cisco配置静态NAT
- 使用Axis2创建一个简单的WebService服务
- 来晚了--SALTSTACK要弄起
- 一学即懂得计算机视觉
- 腾讯X5联手白鹭Egret Runtime 合作共推HTML5游戏发展
- Linux 定位网络不通问题
- [开发技巧3]不显示报表直接打印
- 【C++深度剖析教程19】前置操作符与后置操作符
- dos命令窗口光标闪烁_10 分钟上手 Vim,常用命令大盘点
- android runnable内存泄漏,这个Runnable可以防止内存泄漏吗?
- ShopXO开源电商系统源码
- 线性规划图解法求最优解_线性规划的图解法6.ppt
- spring中注解及原理
- 最小生成树算法之Prim(普里姆)算法
- 关于公司建设的一些思考
- AWS——API Gateway
- 微信群聊图灵机器人 复制直接用
- 【流程向】模型复原与Unity渲染
- 自学就能轻松学会搭建网站的步骤教程