SVN迁移Git

作者: CoderHG | 来源:发表于2017-01-14 11:41 被阅读284次

    前缘

    SVN与Git,哪个最牛逼?现在要将之前的在SVN管理的项目迁移到Gitlab上,简单记录一下简单粗暴的方法.

    具体方案有二:

    • 不保留在SVN上的记录,只是迁移有效的代码.
    • 保留SVN上提交的所有记录

    第一种方案,很简单,不做介绍.接下来看看第二种方案的实现.

    前提:

    具体的步骤如下:##

    • 1.打开终端

    • 2.输入: **git svn clone h ttp://svnusername@localhost/svn/project/Demo **

      • 这一步的条件是git svn要可用
      • 可能会让你输入svnusername的密码
      • 这个步骤要花多长时间,主要取决于项目的大小
    • 3.已经一定时间之后,cd进入与.git同级目录,执行git log.如果能看到在SVN上的提交记录,就说明成功的将SVN换成Git的本地仓库了.(.git是隐藏文件,点击如何查看隐藏文件)

    • 4.第2步结束,在.git同级目录添加.gitignore文件

      • 一定要在这个时候添加这个.gitignore文件,千万别提交到Gitlab上之后在提交,否则即使添加也无效.
    • 5.如果之前你的SVN的管理很规范,很标准的话,这一步也很重要,你只需要在终端依次执行即可:

        1. cp -Rf .git/refs/remotes/tags/* .git/refs/tags/
        1. rm -Rf .git/refs/remotes/tags
        1. cp -Rf .git/refs/remotes/* .git/refs/heads/
        1. rm -Rf .git/refs/remotes

    到这里,SVN上的所有东西在本地的仓库中几乎都有了.未完待续,开始提交到Gitlab服务器.

    • **6.本地仓库与远程仓库关联,在终端执行: git remote add origin git@git.oschina.net:CoderHG/Demo.git **

    • 7.将本地仓库push到远程仓库,在终端执行: git push --set-upstream origin master

    如果一切顺利的话,到这里就OK了,过程还会有很多的小细节,很简单呢就没有介绍,比如如何配置ssh,一般在配置的地方总是会有说明文档的.如果有大神发现有不合理的地方,欢迎指教!谢谢~**

    不知,便是道.既不知道.

    相关文章

      网友评论

        本文标题:SVN迁移Git

        本文链接:https://www.haomeiwen.com/subject/bfsebttx.html