svn迁移到git仓库并保留commit历史记录

svn迁移到git仓库并保留commit历史记录

最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制。最简单的方式是将svn的内容export出来,然后添加到gitlab即可。但是,如果svn用的时间很长了,而且很多commit,我们希望保存svn commit的信息以便做版本的控制和比较。幸好git提供了相应的解决办法。

前提

  • 已安装git
  • 已安装gitlab

迁移

1.环境准备:

yum install -y git-svn

2.svn账号与git账号映射,users.txt

svn账号=git账号名称<username@mail.com>

3.svn转换为git

git svn clone svn://ip端口/projectname --no-metadata --authors-file=users.txt --trunk=trunk projectname
cd projectname

4.添加git仓库

git remote add origin git@xxx.xxx.xxx.xxx:root/projectname.git

5.提交到gitlab

git push -u origin master

参考文档:

时间: 2024-12-27 15:01:54

svn迁移到git仓库并保留commit历史记录的相关文章

《走进git时代系列二》 从SVN迁移到GIT教程

本篇文章是走进git时代系列之二,如何迁移到GIT的教程, 不了解GIT的同学可以先看系列一<走进git时代系列一> 你该怎么玩? 本文分为以下几部分内容: SVN 迁移到 Git 的简单原理 图文教程从TaoCode SVN 迁移到 YunCode Git 如何混用SVN+GIT SVN 迁移到 Git 的简单原理 本文所涉及的工具只有一个 git-svn , 包含在1.7.1以上的git客户端版本内, 该工具详细介绍见: https://www.kernel.org/pub/softwar

git学习------&amp;gt;从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?

最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年. 因此导致虽然项目迁移过来了,但是团队开发还是在SVN提交代码.所以得想个办法同步迁移之后继续在SVN提交的代码到Git来,不然到时候又得做一次迁移操作得多操蛋. 在网上查看了下资料,都是讲SVN迁移到Git的过程,并没有讲解迁移之后团队成员继续在SVN提交代码,然后需要同步最新的SVN提交记录到Git的过程,因此自己慢慢探索,居

svn 迁移到git下的笔记

简单粗暴,命令如下: git svn clone https://localhost:8443/svn/www/ –no-metadata –trunk=trunk www 参数说明: no metadata 参数是阻止git 导出svn包含的附加信息,这样提交到Git的记录就会显得很"干净" trunk 主分支 www 创建的git项目名称 执行过程可能会有svn帐户的输入,反正就用户名跟密码吧 2.代码克隆下来之后,这已经是一个git下checkout的项目了,只是他还没有代码库源

如何SVN数据迁移到Git

由于Git分布式体系结构,用户完全可以脱离Git服务端在本地查看,编辑和提交代码,现在公司Leader要求将SVN上面的数据迁移到Git上面,通过git svn命令可以将SVN里面的数据迁移到Git上面. 1.物理环境 Git-server    Centos5.8    192.168.1.245 Svn-server    Centos5.8    192.168.1.108 2.建立SVN用户到git用户的映射文件,文件格式如下: cat /tmp/userinfo.txt david=s

02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用

1 创建Git资源库,残酷目录信息 创建git资源库的命令: git init –bare 仓库名称 (其中-bare表示的意思是空的库的意思) 进入E:\software\repository\git\itheima28,截图如下: hooks:提交一些脚本文件 info:存放一些个人信息,配置信息 objects:所有数据存放位置 refs:git指针信息,记录了修改了什么等的信息 config:核心的配置信息 description:描述信息 HEAD:存放的分支信息. 2 使用上面创建的

版本控制从svn切换到git如何操作

假设当前的svn的工作目录是/var/www/test 1:查找并删除所有的.svn文件 cd /var/www/test find . -name .svn -type -d | xargs rm -rf 2:初始化git并提交. git init git add ./* git commit -m "init" 3:如果你不想把git仓库放到其他地方,而只是放到本机,则如下操作: mkdir /home/user1/git cd /home/user1/git git init -

1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfolder/ toto@toto-K45VD:~/gitfolder$ls toto@toto-K45VD:~/gitfolder$git init 初始化空的 Git版本库于 /home/toto/gitfolder/.git/ 注意:如果是第一次使用git,还要对git对进行如下配置 git conf

管理-git 仓库能否合并多个原来是相互独立的仓库

问题描述 git 仓库能否合并多个原来是相互独立的仓库 由于问题需要快点解决,自己又不熟悉git,所以来问问大家.情况如下: 原来有3个独立的远程仓库A,B,C它们属于同一个项目,但是彼此之间没有逻辑上的关联,可以完全独立使用,现在我想把它们3个合并到一个仓库里面管理,又想保留各自以前提交的log. 如果能合并,那么能否分别被clone,因为这3个部分由不同人开发,不想让其他人看到与他不相关的代码.

Git 系列(三):建立你的第一个 Git 仓库

现在是时候学习怎样创建你自己的 Git 仓库了,还有怎样增加文件和完成提交. 在本系列前面的文章中,你已经学习了怎样作为一个最终用户与 Git 进行交互:你就像一个漫无目的的流浪者一样偶然发现了一个开源项目网站,克隆了仓库,然后你就可以继续钻研它了.你知道了和 Git 进行交互并不像你想的那样困难,或许你只是需要被说服现在去使用 Git 完成你的工作罢了. 虽然 Git 确实是被许多重要软件选作版本控制工具,但是并不是仅能用于这些重要软件:它也能管理你购物清单(如果它们对你来说很重要的话,当然可