同步svn代码至git库

背景

在将svn库迁移至git库后,因为不是所有人都熟悉git,因而还有一些代码还是在svn上提交,这就需要将这部分代码同步至git库。

同步操作

1、查看分支情况

[root@CentOS-6-5 /home/svn/testproject]# git branch -a
* master
  remotes/git-svn

可见,remotes/git-svn就是git svn clone迁移时的svn仓库。

2、将git-svn仓库checkout到本地

[root@CentOS-6-5 /home/svn/testproject]# git checkout -b local-git-svn remotes/git-svn
Switched to a new branch 'local-git-svn'
[root@CentOS-6-5 /home/svn/testproject]# git branch -a
* local-git-svn
  master
  remotes/git-svn

3、在分支上拉取最新代码

[root@CentOS-6-5 /home/svn/testproject]# git svn fetch

4、查看日志,确定拉取完整

通过git log命令,查看分支此时提交记录,确认所有修改均已拉取。

5、切换回主分支,并merge代码

[root@CentOS-6-5 /home/svn/testproject]# git checkout master
Switched to branch 'master'
[root@CentOS-6-5 /home/svn/testproject]# git branch -a
  local-git-svn
* master
  remotes/git-svn
[root@CentOS-6-5 /home/svn/testproject]# git merge local-git-svn

6、提交到git仓库

在merge成功后,就可以push到git仓库了,

[root@CentOS-6-5 /home/svn/testproject]# git remote add origin git@gitlab.net:testgroup/testproject.git
[root@CentOS-6-5 /home/svn/testproject]# git push -u origin master
Branch master set up to track remote branch master from origin.
Everything up-to-date

如果之前已经添加过远端服务器,就无需再执行git remote add操作,直接push即可。

7、查看gitlab日志

查看gitlab日志,检查所有提交是否均已同步。

8、下次同步

此次同步结束后,后续需要同步时,可以将本地的local-git-svn分支删除,重复上述步骤即可,也可以新建一个分支名。

注意事项

其实在git svn clone时,如果中途失败,也可使用git svn fetch的方式接着克隆,然后将remotes/git-svn分支checkout到本地,这样就无需删除检出了一半的工程,尤其对于大型工程来说,重新检出非常耗时。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值