本文共 1583 字,大约阅读时间需要 5 分钟。
最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年。
因此导致虽然项目迁移过来了,但是团队开发还是在SVN提交代码。所以得想个办法同步迁移之后继续在SVN提交的代码到Git来,不然到时候又得做一次迁移操作得多操蛋。
在网上查看了下资料,都是讲SVN迁移到Git的过程,并没有讲解迁移之后团队成员继续在SVN提交代码,然后需要同步最新的SVN提交记录到Git的过程,因此自己慢慢探索,居然成功了,现在写这篇博客自己记录记录。
[root@xtgl207940 trunk]# git show-ref9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/heads/develop9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/heads/master0ba94e3383d6f478844b1e674465fbc6ae0277e3 refs/remotes/git-svn9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/remotes/origin/develop62333dcb3beeb73e28538f815abfdfe791b88c00 refs/remotes/origin/local-git-svn9caa27cc211162aeed6e944144f4c676d2f1dfe1 refs/remotes/origin/master
通过上面的操作,我们可以看到有个远程分支remotes/git-svn,
从图中可以看到该远程分支remotes/git-svn对应的就是git clone 迁移时候的svn仓库。因此可以在本地建立一个分支 local-git-svn,然后同步svn的提交记录
[root@xtgl207940 trunk]# git checkout -b local-git-svn remotes/git-svn切换到一个新分支 'local-git-svn'
使用 git svn fetch
命令同步SVN最新的提交记录,然后可以通过 git log
命令查看git的提交记录对应的svn记录相同。
[root@xtgl207940 trunk]# git svn fetch [root@xtgl207940 trunk]# git log
通过git log 命令查看提交记录,发现已经同步了最新的SVN仓库提交记录。
git push -u origin master
查看gitlab上,可以发现已经同步迁移之后继续在SVN提交的代码到GitLab
当同步完成之后,还是会有人继续在svn提交,因此我们要继续同步迁移之后继续在SVN提交的代码到Git
查看gitlab上 刚刚同步的最新svn提交记录,如下所示:
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。