关闭

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

3709人阅读 评论(12) 收藏 举报
分类:

最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年。

因此导致虽然项目迁移过来了,但是团队开发还是在SVN提交代码。所以得想个办法同步迁移之后继续在SVN提交的代码到Git来,不然到时候又得做一次迁移操作得多操蛋。

在网上查看了下资料,都是讲SVN迁移到Git的过程,并没有讲解迁移之后团队成员继续在SVN提交代码,然后需要同步最新的SVN提交记录到Git的过程,因此自己慢慢探索,居然成功了,现在写这篇博客自己记录记录。

一、同步迁移之后继续在SVN提交的代码到Git

第1步,通过git show-ref命令查看分支情况

[root@xtgl207940 trunk]# git show-ref
9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/heads/develop
9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/heads/master
0ba94e3383d6f478844b1e674465fbc6ae0277e3 refs/remotes/git-svn
9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/remotes/origin/develop
62333dcb3beeb73e28538f815abfdfe791b88c00 refs/remotes/origin/local-git-svn
9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/remotes/origin/master

这里写图片描述

通过上面的操作,我们可以看到有个远程分支remotes/git-svn

这里写图片描述

从图中可以看到该远程分支remotes/git-svn对应的就是git clone 迁移时候的svn仓库。因此可以在本地建立一个分支 local-git-svn,然后同步svn的提交记录

第2步,建立本地分支 local-git-svn 对应远程分支git-svn

这里写图片描述

[root@xtgl207940 trunk]# git checkout -b local-git-svn remotes/git-svn
切换到一个新分支 'local-git-svn'

第3步,同步svn最新的提交记录

使用 git svn fetch 命令同步SVN最新的提交记录,然后可以通过 git log命令查看git的提交记录对应的svn记录相同。

[root@xtgl207940 trunk]# git svn fetch 
[root@xtgl207940 trunk]# git log

这里写图片描述

第4步,切换分支到master分支,然后merge刚才的local-git-svn分支

这里写图片描述

通过git log 命令查看提交记录,发现已经同步了最新的SVN仓库提交记录。

这里写图片描述

第5步,提交master分支到GitLab远程仓库

git push -u origin master

这里写图片描述

第6步,查看gitlab上的代码

查看gitlab上,可以发现已经同步迁移之后继续在SVN提交的代码到GitLab

这里写图片描述

反复同步迁移之后继续在SVN提交的代码到Git

当同步完成之后,还是会有人继续在svn提交,因此我们要继续同步迁移之后继续在SVN提交的代码到Git

第1步:删除分支 local-git-svn

第2步:重复上面的操作来一遍

这里写图片描述

查看gitlab上 刚刚同步的最新svn提交记录,如下所示:

这里写图片描述


这里写图片描述

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/76220621

如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。

这里写图片描述

4
0
查看评论

GIT版本控制 — GIT与SVN的相互转换 (三)

git-svn   git-svn用于Git和SVN的转换,可以把Git仓库迁移成SVN仓库,反之亦可。 详细介绍可见[1],或者命令行输入git-svn。   Bidirectional operation between a Subversion repositor...
  • zhangskd
  • zhangskd
  • 2015-02-14 15:48
  • 23349

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

最近公司要求将代码库从svn迁移到gitlab,由于之前一直是由svn做版本控制。最简单的方式是将svn的内容export出来,然后添加到gitlab即可。但是,如果svn用的时间很长了,而且很多commit,所以就希望保存svn commit的信息以便做版本的控制和比较以及后期项目的维护。摸索了一...
  • Hello_Mr_Cc
  • Hello_Mr_Cc
  • 2017-05-25 19:25
  • 2225

SVN迁移到git

前言       目前同步开发有好几个项目,有的采用svn管理,有的采用git管理,一想也知道svn管理的项目都比较老,每次切换工程开发都要改变提交代码的方式。因此就打算把svn管理的项目迁移到git上,其实前面说的都不是重点,重点是svn服务器有时不稳定,所...
  • xueshanhaizi
  • xueshanhaizi
  • 2017-02-08 17:11
  • 1926

SVN——SVN项目迁移到GIT

svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料。暂时就些整理这些,具体的操作如果有看不懂的,可以和我联系!右侧的qq号,欢迎一起探讨。 相关操作: 1:命令行执行##clone svn ...
  • u010648555
  • u010648555
  • 2016-10-16 16:54
  • 9947

git-svn — 让git和svn协同工作

svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着被误删除和版本更新无法回退两大情形。git作为一个分布式版本管理工具,可以很好的解决这个问...
  • itpinpai
  • itpinpai
  • 2017-02-17 17:27
  • 767

[ git-svn ] git 和 svn 的混合使用

项目版本管控,主要分成 "集中式" svn 和 "分布式" git 两种. 以项目源代码版本管控为例阐述:     svn  和  git 共同点:  服务器和本地机都各有一份项目源代码,本地机上修...
  • x13015851932
  • x13015851932
  • 2016-12-15 12:01
  • 979

git 仓库迁移的两种方法

Git仓库迁移而不丢失log的方法 要求能保留原先的commit记录,应该如何迁移呢?同时,本地已经clone了原仓库,要配置成新的仓库地址,该如何修改呢?注意:如果使用了代码审核工具Gerrit,那么在进行操作之前需要将Gerrit关掉,等成功恢复后再将Gerrit开户即可 1、使用g...
  • hpu11
  • hpu11
  • 2017-04-24 14:21
  • 1332

Git仓库完整迁移 含历史记录

如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作。1). 从原地址克隆一份裸版本库,比如原本托管于 GitHub。git clone –bare git://github.com/username/project.git2). 然后到新的 G...
  • candyguy242
  • candyguy242
  • 2015-05-22 18:12
  • 9449

利用SVN的post-commit钩子实现多项目自动同步

svn的post-commit钩子脚本在每次提交(commit)之后运行,我们可以在这个脚本里实现一些比较实用的功能,比如发送邮件提醒、自动备份版本库,自动同步代码到web服务器等。这里用post-commit实现多项目自动同步,思路:在svn版本仓库根目录下划分多个项目文件夹,项目组成员在提交文件...
  • bjnihao
  • bjnihao
  • 2016-02-14 17:34
  • 3411

如何将SVN仓库转换为Git仓库

按如下步骤操作就可以将SVN仓库完整的转换为Git仓库:1) 将远程SVN仓库搬到本地(这一步主要是为了提高转换的速度,也可以忽略)    参考这篇文章: http://rongjih.blog.163.com/blog/static/335744612010...
  • Augusdi
  • Augusdi
  • 2014-06-02 11:59
  • 2233
    个人资料
    • 访问:2167279次
    • 积分:23459
    • 等级:
    • 排名:第349名
    • 原创:371篇
    • 转载:110篇
    • 译文:0篇
    • 评论:983条
    感谢您为博客进行打赏
      支付宝&微信支付二维码
      支付宝&微信支付
    站长统计
    友情链接
    博客专栏
    最新评论