添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

    参考文档:

  • http://blog.163.com/pjt_ren/blog/static/188250602013101102615844/
  • http://www.lovelucy.info/codebase-from-svn-to-git-migration-keep-commit-history.html
  • 1. First Blood 之前在Windows环境下进行svn到git的迁移是很简单的,参考官方文档。 可是在macOS环境下(macOS High Sierra 10.13.2),输入: $ git svn 神奇的事情发生了,报了以下错误: can't locate SVN/Core.
    先来看一下错误现象 之前在Windows Server中安装了VirtualSVN Server,然后设置了Post Commit Hooks,在提交代码到版本库之后,将代码check到本地的一个Server目录。