SVN迁移到GIT后续推送

SVN迁到GIT

git svn init xxx
git svn fetch

或者

git svn clone xxx

关联到远程服务器,如果已存在,以下二选1

git remote rm origin   //删除origin
git remote add origin xxx.git   //重新添加origin
git remote 查看所有的远端
git remote set-url origin xxx.git
推送到远端
git push -u origin master    // 第一次推送时
git push origin master       // 第一次推送后,直接使用该命令即可推送修改
迁完后,考虑到某些时间 svn会继续更新,这时怎么同步呢?

先打开.git/config文件,可以看到:

[svn-remote "svn"]
	url = https://xxxx
	fetch = :refs/remotes/git-svn

如果没有,可以自己按上面的添加一下,同样是有效的

也就是remotes/git-svn对应的就是git clone迁移时候的svn仓库

$ git show-ref
ec1aab5d3a45537898a5851c843d90036aadd62e refs/heads/master
58e66ad715e9f104d2455e5aeeb9b6dd415973f9 refs/remotes/git-svn
8b6bf396ba7567dc777f30bc7769ce804f96aa4f refs/remotes/master
ec1aab5d3a45537898a5851c843d90036aadd62e refs/remotes/origin/master

1.取远程分支并分化一个新分支local-git-svn 然后同步svn的提交记录,

$ git checkout -b local-git-svn remotes/git-svn
Switched to a new branch 'local-git-svn'
2.然后同步svn最新提交记录
git svn fetch
3.切换回master分支,并执行合并
git checkout master
git merge local-git-svn
4.推送到远端的master
 git push origin master
5.最后把local-git-svn分支可以删除了
git branch -d local-git-svn

===》前面有点复杂了,可以简化为三步:

git svn fetch
git merge remotes/git-svn
git push origin master










  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值